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.1rc11.tar.gz
Algorithm | Hash digest | |
---|---|---|
SHA256 | 24683ec539e09f9854c6c8fc8a29fe1b93a4cd359a5adfee6bcda1cdce90ec00 |
|
MD5 | e4f478352f0cd977e86a0b98e09c4891 |
|
BLAKE2b-256 | fddb142ff3f27b9e44d25854045b238d3a0a29d060357fe3d16e698999a8fe28 |
Close
Hashes for surquest_fastapi_utils-0.0.1rc11-py2.py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 159c9569540f2ea358c9d51709664108964babb104ca94fbe08ae1fd993cb183 |
|
MD5 | 007787228eed4773bbfc44a1cd6a2c12 |
|
BLAKE2b-256 | ee42001743562436233326721e01d99649e195dcb3f662b2bb013d09bda55602 |