Xj ddlmZddlmZddlmZddlmZmZm Z ddl m Z m Z ddl mZddlmZmZddlmZmZmZmZmZdd lmZGd d Zy ) ) annotations)Mapping)Any)ExceptionHandlersStatusHandlerswrap_app_handling_exceptions) HTTPExceptionWebSocketException)Request)PlainTextResponseResponse)ASGIAppExceptionHandlerReceiveScopeSend) WebSocketcTeZdZ d ddZ d dZd dZd dZd dZy) ExceptionMiddlewareNc||_||_i|_t|jt |j i|_|+|jD]\}}|j||yyN) appdebug_status_handlersr http_exceptionr websocket_exception_exception_handlersitemsadd_exception_handler)selfrhandlersrkeyvalues s/mnt/ssd/data/Dropbox/adrian/vault-secondbrain/venv/lib/python3.12/site-packages/starlette/middleware/exceptions.py__init__zExceptionMiddleware.__init__sq  02 4..  8 87    &nn. 7 U**36 7 ct|tr||j|<yt|tsJ||j |<yr) isinstanceintr issubclass Exceptionr)r exc_class_or_status_codehandlers r$rz)ExceptionMiddleware.add_exception_handler$sB . 4>ED ! !": ;6 B BBAHD $ $%= >r&c"K|ddvr|j|||d{y|j|jf|d<|ddk(rt|||}n t |||}t |j||||d{y7j7w)Ntype)http websocketzstarlette.exception_handlersr0)rrrr rr)r scopereceivesendconns r$__call__zExceptionMiddleware.__call__/s = 5 5((5'40 0 0   $ $  ! !1 ,- =F "5'40DUGT2D:*488T:5'4PPP 1 Qs"BB A$BB B BcKt|tsJ|jdvr!t|j|jSt |j |j|jSw)N>0) status_codeheaders)r(r r:r r;r detail)r requestexcs r$rz"ExceptionMiddleware.http_exceptionAsU#}--- ??j (M M RUR]R]^^sA.A0cKt|tsJ|j|j|jd{y7w)N)codereason)r(r closer@rA)r r1r>s r$rz'ExceptionMiddleware.websocket_exceptionGs5#1222oo388CJJo???s=AAA)NF)rrr!z%Mapping[Any, ExceptionHandler] | NonerboolreturnNone)r,zint | type[Exception]r-rrDrE)r2rr3rr4rrDrE)r=r r>r+rDr )r1rr>r+rDrE)__name__ __module__ __qualname__r%rr6rrr&r$rrsl;? 7 787 7  7" I"7 I" I  IQ$_ @r&rN) __future__rcollections.abcrtypingrstarlette._exception_handlerrrrstarlette.exceptionsr r starlette.requestsr starlette.responsesr r starlette.typesrrrrrstarlette.websocketsrrrIr&r$rSs9"# C&;KK*7@7@r&