This project provides collection of utilities for FastAPI framework as: Catcher, Middleware, etc.
Project description
Introduction
This project provides collection of utilities for FastAPI framework as:
- Custom Middlewares
- Exception Catchers
- Custom Routes
Quick Start
This section shows how to use the utilities provided by this project:
from fastapi import FastAPI, Request
from fastapi.exceptions import RequestValidationError
from starlette.exceptions import HTTPException
from surquest.fastapi.utils.route import Route
from surquest.fastapi.utils.middleware import BasicMiddleware
from surquest.fastapi.utils.catcher import (
catch_validation_exceptions,
catch_http_exceptions,
)
app = FastAPI(
title="Sample REST API application",
openapi_url="/openapi.json"
)
# add middleware
app.add_middleware(BasicMiddleware) # this middleware writes request and response to the log
# exception handlers
app.add_exception_handler(HTTPException, catch_http_exceptions)
app.add_exception_handler(RequestValidationError, catch_validation_exceptions)
# custom routes
app.add_api_route(path="/", endpoint=Route.get_documentation, include_in_schema=False)
Local development
You are more than welcome to contribute to this project. To make your start easier we have prepared a docker image with all the necessary tools to run it as interpreter for Pycharm or to run tests.
Build docker image
docker build `
--tag surquest/fastapi/utils `
--file package.base.dockerfile `
--target test .
Run tests
docker run --rm -it `
-v "${pwd}:/opt/project" `
-e "GOOGLE_APPLICATION_CREDENTIALS=/opt/project/credentials/keyfile.json" `
-w "/opt/project/test" `
surquest/fastapi/utils pytest
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Close
Hashes for surquest_fastapi_utils-0.0.1rc10.tar.gz
Algorithm | Hash digest | |
---|---|---|
SHA256 | bebeb86de54419b30e2f00f5216d66631b3689265c1e00eaa58dea84ba12d385 |
|
MD5 | ccbb691c15f5e421d62d35e577af41f7 |
|
BLAKE2b-256 | f97c3a6190133d9eabaeb5d1b931a30f64c6dda34fedf412b49516c1bacd7d70 |
Close
Hashes for surquest_fastapi_utils-0.0.1rc10-py2.py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | c21ee927366d7b620c271e84e811ee5dc5fcf4073b6abda5cdee244d553109a5 |
|
MD5 | 93bc772bd8fcf7812a193b1f19c7be3d |
|
BLAKE2b-256 | ddaa6293e505c1ee9697660945adfb14ddcfbbb6750e26b3a77e03fa2c2e3c6c |