mirror of
https://github.com/Routstr/routstr-core.git
synced 2026-08-12 12:13:21 +00:00
Merge pull request #139 from Routstr/x-routstr-request-id-header
x-routstr-request-id header
This commit is contained in:
@@ -124,7 +124,7 @@ class RequestIdFilter(logging.Filter):
|
||||
# Import here to avoid circular imports
|
||||
from .middleware import request_id_context
|
||||
|
||||
request_id = request_id_context.get()
|
||||
request_id = request_id_context.get(None)
|
||||
record.request_id = request_id if request_id else "no-request-id"
|
||||
except ImportError:
|
||||
# If middleware isn't available yet, just use default
|
||||
|
||||
@@ -95,6 +95,7 @@ app.add_middleware(
|
||||
allow_credentials=True,
|
||||
allow_methods=["*"],
|
||||
allow_headers=["*"],
|
||||
expose_headers=["x-routstr-request-id"],
|
||||
)
|
||||
|
||||
# Add logging middleware
|
||||
|
||||
@@ -11,7 +11,7 @@ from .logging import get_logger
|
||||
logger = get_logger(__name__)
|
||||
|
||||
# Context variable to store request ID across async context
|
||||
request_id_context: ContextVar[str | None] = ContextVar("request_id", default=None)
|
||||
request_id_context: ContextVar[str | None] = ContextVar("request_id")
|
||||
|
||||
|
||||
class LoggingMiddleware(BaseHTTPMiddleware):
|
||||
@@ -62,8 +62,8 @@ class LoggingMiddleware(BaseHTTPMiddleware):
|
||||
)
|
||||
|
||||
# Log at TRACE level for full body (security filter will redact sensitive data)
|
||||
if request_body and hasattr(logger, "trace"):
|
||||
logger.trace(
|
||||
if request_body and hasattr(logger, "exception"):
|
||||
logger.exception(
|
||||
"Request body",
|
||||
extra={
|
||||
"request_id": request_id,
|
||||
@@ -95,7 +95,7 @@ class LoggingMiddleware(BaseHTTPMiddleware):
|
||||
},
|
||||
)
|
||||
if hasattr(response, "headers"):
|
||||
response.headers["X-Routstr-Request-Id"] = request_id
|
||||
response.headers["x-routstr-request-id"] = request_id
|
||||
|
||||
return response
|
||||
|
||||
|
||||
Reference in New Issue
Block a user