case_sensitive_headers.py 438 B

123456789101112
  1. from fastapi import Request
  2. async def case_sensitive_headers_middleware(request: Request, call_next):
  3. raw_headers = request.scope.get("raw_headers", [])
  4. normalized = {}
  5. for i in range(0, len(raw_headers), 2):
  6. key = raw_headers[i].decode("utf-8")
  7. value = raw_headers[i + 1].decode("utf-8")
  8. normalized[key] = value
  9. request.scope["raw_headers_dict"] = normalized
  10. return await call_next(request)