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.12.tar.gz (8.6 kB view details)

Uploaded Source

Built Distribution

fastapi_helper-0.0.12-py3-none-any.whl (9.9 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: fastapi-helper-0.0.12.tar.gz
  • Upload date:
  • Size: 8.6 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.12.tar.gz
Algorithm Hash digest
SHA256 6e54444834ed745e3e6d01977612556fd969063bdb7544a0ef79d93b0c89b90a
MD5 2060306634a761822608d3440d616e64
BLAKE2b-256 6907a5565fe24f6bdc6a11a090f088be18073aebc5313891c98af85cad5cdebc

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for fastapi_helper-0.0.12-py3-none-any.whl
Algorithm Hash digest
SHA256 b6999509cef40f7aa00b08b789b7c2269e7b36130e739293b7b1fcc32b32b168
MD5 2900b367dc0f1dbc3f4953cfb8adf0dd
BLAKE2b-256 ad029783c91cb20b151a8f19f4b9daa5548292faeb724e1c3c252e9e1138d1ed

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