3.10. FastAPI Headers — Python
Request headers
Response headers
Header object
Request object
Response object
3.10.1. Header
>>> from fastapi import FastAPI, Header >>> app = FastAPI() >>> >>> >>> @app.get('/') ... async def index(user_agent: str | None = Header(None)): ... return {'User-Agent': user_agent}
3.10.2. Request
Request headers will be strings
>>> from fastapi import FastAPI, Request >>> app = FastAPI() >>> >>> >>> @app.get('/') ... def index(request: Request): ... ua = request.headers['User-Agent'] ... host = request.headers['Host'] ... accept = request.headers['Accept'] ... return {'message': 'ok'}
$ curl -D- http://127.0.0.1:8000/ HTTP/1.1 200 OK date: Fri, 05 Mar 2021 11:36:38 GMT server: uvicorn content-length: 16 content-type: application/json {"message":"ok"}
3.10.3. Response
Response headers values must be string
>>> from fastapi import FastAPI, Response >>> app = FastAPI() >>> >>> >>> @app.get('/') ... def index(response: Response): ... response.headers['X-API-VERSION'] = '1.0' ... return {'message': 'ok'}
$ curl -D- http://127.0.0.1:8000/ HTTP/1.1 200 OK date: Fri, 05 Mar 2021 11:16:51 GMT server: uvicorn content-length: 7 content-type: application/json x-api-version: 1.0 {"message":"ok"}