[Frontend] add add_request_id middleware (#9594)

Signed-off-by: cjackal <44624812+cjackal@users.noreply.github.com>
This commit is contained in:
cjackal
2024-11-09 19:18:29 +09:00
committed by GitHub
parent 9e37266420
commit d88bff1b96
2 changed files with 34 additions and 0 deletions

View File

@@ -7,6 +7,7 @@ import re
import signal
import socket
import tempfile
import uuid
from argparse import Namespace
from contextlib import asynccontextmanager
from functools import partial
@@ -475,6 +476,13 @@ def build_app(args: Namespace) -> FastAPI:
status_code=401)
return await call_next(request)
@app.middleware("http")
async def add_request_id(request: Request, call_next):
request_id = request.headers.get("X-Request-Id") or uuid.uuid4().hex
response = await call_next(request)
response.headers["X-Request-Id"] = request_id
return response
for middleware in args.middleware:
module_path, object_name = middleware.rsplit(".", 1)
imported = getattr(importlib.import_module(module_path), object_name)