This repository was archived by the owner on Jun 5, 2025. It is now read-only.
File tree Expand file tree Collapse file tree 2 files changed +12
-1
lines changed Expand file tree Collapse file tree 2 files changed +12
-1
lines changed Original file line number Diff line number Diff line change @@ -236,6 +236,8 @@ def get_headers_dict(self) -> Dict[str, str]:
236
236
try :
237
237
name , value = header .decode ("utf-8" ).split (":" , 1 )
238
238
headers_dict [name .strip ().lower ()] = value .strip ()
239
+ if name == "user-agent" :
240
+ logger .debug (f"User-Agent header received: { value } from { self .peername } " )
239
241
except ValueError :
240
242
continue
241
243
Original file line number Diff line number Diff line change 1
1
import traceback
2
2
3
3
import structlog
4
- from fastapi import APIRouter , FastAPI
4
+ from fastapi import APIRouter , FastAPI , Request
5
5
from fastapi .middleware .cors import CORSMiddleware
6
6
from fastapi .responses import JSONResponse
7
7
from starlette .middleware .errors import ServerErrorMiddleware
@@ -35,6 +35,15 @@ def init_app(pipeline_factory: PipelineFactory) -> FastAPI:
35
35
description = __description__ ,
36
36
version = __version__ ,
37
37
)
38
+
39
+ @app .middleware ("http" )
40
+ async def log_user_agent (request : Request , call_next ):
41
+ user_agent = request .headers .get ("user-agent" )
42
+ client_host = request .client .host if request .client else "unknown"
43
+ logger .debug (f"User-Agent header received: { user_agent } from { client_host } " )
44
+ response = await call_next (request )
45
+ return response
46
+
38
47
app .add_middleware (
39
48
CORSMiddleware ,
40
49
allow_origins = ["*" ],
You can’t perform that action at this time.
0 commit comments