File tree Expand file tree Collapse file tree 2 files changed +15
-0
lines changed Expand file tree Collapse file tree 2 files changed +15
-0
lines changed Original file line number Diff line number Diff line change 1111
1212from .proxy import ReverseProxy
1313from .config import Settings
14+ from .middleware import AddProcessTimeHeaderMiddleware
1415
1516
1617def create_app (settings : Optional [Settings ] = None ) -> FastAPI :
1718 settings = settings or Settings ()
1819
1920 app = FastAPI (openapi_url = None )
21+ app .add_middleware (AddProcessTimeHeaderMiddleware )
2022
2123 open_id_connect_scheme = OpenIdConnect (
2224 openIdConnectUrl = str (settings .oidc_discovery_url ),
Original file line number Diff line number Diff line change 1+ import time
2+
3+ from fastapi import Request , Response
4+ from starlette .middleware .base import BaseHTTPMiddleware
5+
6+
7+ class AddProcessTimeHeaderMiddleware (BaseHTTPMiddleware ):
8+ async def dispatch (self , request : Request , call_next ) -> Response :
9+ start_time = time .perf_counter ()
10+ response = await call_next (request )
11+ process_time = time .perf_counter () - start_time
12+ response .headers ["X-Process-Time" ] = f"{ process_time :.3f} "
13+ return response
You can’t perform that action at this time.
0 commit comments