【发布时间】:2021-01-14 19:55:11
【问题描述】:
我有这样的中间件
class RequestContext(BaseHTTPMiddleware):
async def dispatch(self, request: Request, call_next: RequestResponseEndpoint):
request_id = request_ctx.set(str(uuid4())) # generate uuid to request
body = await request.body()
if body:
logger.info(...) # log request with body
else:
logger.info(...) # log request without body
response = await call_next(request)
response.headers['X-Request-ID'] = request_ctx.get()
logger.info("%s" % (response.status_code))
request_ctx.reset(request_id)
return response
所以body = await request.body() 行冻结了所有有正文的请求,我从所有这些请求中得到了 504。在这种情况下,如何安全地阅读请求正文?我只想记录请求参数。
【问题讨论】:
-
您的问题是否已解决或有任何反馈?
-
@YagizcanDegirmenci 我很难检查。生病检查后会回复。
标签: python http middleware fastapi starlette