fastapi icon indicating copy to clipboard operation
fastapi copied to clipboard

📝 Add annotations to HTTP middleware example

Open Kilo59 opened this issue 2 months ago • 1 comments

Update documentation example for HTTP middleware to complete type annotations in the signature.

import time
from typing import Awaitable, Callable

from fastapi import FastAPI, Request, Response

app = FastAPI()


@app.middleware("http")
async def add_process_time_header(
    request: Request, call_next: Callable[[Request], Awaitable[Response]]
) -> Response:
    start_time = time.time()
    response = await call_next(request)
    process_time = time.time() - start_time
    response.headers["X-Process-Time"] = str(process_time)
    return response

Kilo59 avatar May 04 '24 01:05 Kilo59