Skip to main content

Package for useful fastapi utils

Project description

FastAPI Helper

Simple and customizable HTTP exceptions

import uvicorn
from fastapi import FastAPI
from starlette import status
from starlette.requests import Request
from starlette.responses import JSONResponse
from src.fastapi_fancy_exceptions import FancyHTTPException


app = FastAPI()


class AuthException(FancyHTTPException):
    code = "auth_error"
    type = "AuthError"
    message = "Auth error"
    status_code = status.HTTP_401_UNAUTHORIZED


@app.exception_handler(FancyHTTPException)
async def http_exception_accept_handler(request: Request, exc: FancyHTTPException) -> JSONResponse:
    return JSONResponse(
        status_code=exc.status_code,
        content=[{"code": exc.code, "type": exc.type, "message": exc.message}]
    )


@app.get("/")
async def root():
    raise AuthException()

uvicorn.run(app, host="localhost", port=8000)

This code will lead to this response with status code 401:

[
  {
    "code": "auth_error",
    "type": "AuthError",
    "message": "Auth error"
  }
]

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

fastapi-helper-0.0.7.tar.gz (7.2 kB view details)

Uploaded Source

Built Distribution

fastapi_helper-0.0.7-py3-none-any.whl (6.8 kB view details)

Uploaded Python 3

File details

Details for the file fastapi-helper-0.0.7.tar.gz.

File metadata

  • Download URL: fastapi-helper-0.0.7.tar.gz
  • Upload date:
  • Size: 7.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.10.6

File hashes

Hashes for fastapi-helper-0.0.7.tar.gz
Algorithm Hash digest
SHA256 35aa79cee66dae9c7549ce66bedfff2ded87b464002b481f4d464405f0707a53
MD5 f08a50907c22e0c5de96dc4dfcf1cac8
BLAKE2b-256 15c1d5dc5a4d691c4b459e71c6a3629df2cb646789a91216b0cba815149b295d

See more details on using hashes here.

File details

Details for the file fastapi_helper-0.0.7-py3-none-any.whl.

File metadata

File hashes

Hashes for fastapi_helper-0.0.7-py3-none-any.whl
Algorithm Hash digest
SHA256 7591dc7023f90e75e165e0f07873c3654360935e47f30006bc246eecb49f8b3b
MD5 1df39083d07829a2d3355148ec5c51d2
BLAKE2b-256 2ffcb89cc681cb4007ba18ad87c5e1de3e592f8463f3cb7654e7cb49f0fda54f

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page