170 похожих чатов

Почему мои exception_handlerы не регаются в фастапи? делаю запрос на http://localhost:8000/v1/auth/protected сервер

падает с 500 2023-05-24 15:15:19 fastapi_jwt_auth.exceptions.MissingTokenError

хотя есть вот такой код

def authjwt_exception_handler(request: Request, exc: AuthJWTException):
return JSONResponse(
status_code=exc.status_code,
content={"detail": exc.message}
)


def include(app: FastAPI) -> None:
"""Include auth exception handlers"""

app.exception_handler(AuthJWTException)(authjwt_exception_handler)

и я вызываю include в мейне

from presentation.v1 import include_routers, include_exception_handlers

from core.settings import load_settings
from core.db import get_session, get_async_sessionmaker

from sqlalchemy.orm import Session

app = FastAPI()


@app.on_event("startup")
async def on_startup():
settings = load_settings()
async_sessionmaker = await get_async_sessionmaker(settings.db)

app.dependency_overrides[Session] = lambda: get_session(async_sessionmaker)

include_routers(app)
include_exception_handlers(app)

5 ответов

18 просмотров

а зачем регать хендлеры для исключений в стартапе?

https://github.com/encode/starlette/blob/master/starlette/applications.py#L118 на момент стартапа мидлварь стек уже есть то, что зарегано - включено не будет

lubaskinc0de-🎁 Автор вопроса
Max Zhenzhera
https://github.com/encode/starlette/blob/master/st...

а роутеры тогда почему регаются?

Похожие вопросы

Обсуждают сегодня

а через ESC-код ?
Alexey Kulakov
29
30500 за редактор? )
Владимир
47
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
13
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
Как передать управляющий символ в открытую через CreateProcess консоль? Собсна, есть процедура: procedure TRedirectThread.WriteData(Data: OEMString); var Written: Cardinal;...
Serjone
6
program test; {$mode delphi} procedure proc(v: int32); overload; begin end; procedure proc(v: int64); overload; begin end; var x: uint64; begin proc(x); end. Уж не знаю...
notme
6
Ребят в СИ можно реализовать ООП?
Николай
33
у вас два процесса. один посылает другому сигнал. у вас есть код обоих процессов? если всё не так - расскажите как оно на самом деле. а именно кто кому чего, есть-ли консоли,...
Karagy
6
вы делали что-то подобное и как? может есть либы готовые? увидел картинку нокода, где всё линиями соединено и стало интересно попробовать то же в ddl на lua сделать. решил с ч...
Victor
8
Карта сайта