Merge pull request #139 from Routstr/x-routstr-request-id-header

x-routstr-request-id header
This commit is contained in:
shroominic
2025-08-18 12:14:49 -03:00
committed by GitHub
3 changed files with 6 additions and 5 deletions
+1 -1
View File
@@ -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
+1
View File
@@ -95,6 +95,7 @@ app.add_middleware(
allow_credentials=True,
allow_methods=["*"],
allow_headers=["*"],
expose_headers=["x-routstr-request-id"],
)
# Add logging middleware
+4 -4
View File
@@ -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