44from starlette .exceptions import HTTPException
55from uvicorn .protocols .http .h11_impl import STATUS_PHRASES
66
7+ from backend .common .context import ctx
78from backend .common .exception .errors import BaseExceptionError
89from backend .common .i18n import i18n , t
910from backend .common .response .response_code import CustomResponseCode , StandardResponseCode
@@ -72,8 +73,8 @@ async def _validation_exception_handler(request: Request, exc: RequestValidation
7273 'msg' : msg ,
7374 'data' : data ,
7475 }
75- request . state .__request_validation_exception__ = content # 用于在中间件中获取异常信息
76- content .update (trace_id = get_request_trace_id (request ))
76+ ctx .__request_validation_exception__ = content # 用于在中间件中获取异常信息
77+ content .update (trace_id = get_request_trace_id ())
7778 return MsgSpecJSONResponse (status_code = StandardResponseCode .HTTP_422 , content = content )
7879
7980
@@ -96,8 +97,8 @@ async def http_exception_handler(request: Request, exc: HTTPException):
9697 else :
9798 res = response_base .fail (res = CustomResponseCode .HTTP_400 )
9899 content = res .model_dump ()
99- request . state .__request_http_exception__ = content
100- content .update (trace_id = get_request_trace_id (request ))
100+ ctx .__request_http_exception__ = content
101+ content .update (trace_id = get_request_trace_id ())
101102 return MsgSpecJSONResponse (
102103 status_code = _get_exception_code (exc .status_code ),
103104 content = content ,
@@ -144,8 +145,8 @@ async def assertion_error_handler(request: Request, exc: AssertionError):
144145 else :
145146 res = response_base .fail (res = CustomResponseCode .HTTP_500 )
146147 content = res .model_dump ()
147- request . state .__request_assertion_error__ = content
148- content .update (trace_id = get_request_trace_id (request ))
148+ ctx .__request_assertion_error__ = content
149+ content .update (trace_id = get_request_trace_id ())
149150 return MsgSpecJSONResponse (
150151 status_code = StandardResponseCode .HTTP_500 ,
151152 content = content ,
@@ -165,8 +166,8 @@ async def custom_exception_handler(request: Request, exc: BaseExceptionError):
165166 'msg' : str (exc .msg ),
166167 'data' : exc .data or None ,
167168 }
168- request . state .__request_custom_exception__ = content
169- content .update (trace_id = get_request_trace_id (request ))
169+ ctx .__request_custom_exception__ = content
170+ content .update (trace_id = get_request_trace_id ())
170171 return MsgSpecJSONResponse (
171172 status_code = _get_exception_code (exc .code ),
172173 content = content ,
@@ -191,7 +192,7 @@ async def all_unknown_exception_handler(request: Request, exc: Exception):
191192 else :
192193 res = response_base .fail (res = CustomResponseCode .HTTP_500 )
193194 content = res .model_dump ()
194- content .update (trace_id = get_request_trace_id (request ))
195+ content .update (trace_id = get_request_trace_id ())
195196 return MsgSpecJSONResponse (
196197 status_code = StandardResponseCode .HTTP_500 ,
197198 content = content ,
0 commit comments