TaskWeaver / middleware /request_timer.py
PocketSkye's picture
Initial deployment
0242ab2
Raw
History Blame Contribute Delete
511 Bytes
import time
from fastapi import Request
async def request_timer(
request: Request,
call_next
):
start_time = time.perf_counter()
response = await call_next(
request
)
process_time = (
time.perf_counter()
- start_time
)
response.headers[
"X-Process-Time"
] = f"{process_time:.4f}"
print(
f"[{request.method}] "
f"{request.url.path} "
f"completed in "
f"{process_time:.4f}s"
)
return response