|
|
|
@ -50,7 +50,9 @@ async def get_request_logs(
|
|
|
|
start_date: Optional[datetime] = Query(None, description="Filter by start date"),
|
|
|
|
start_date: Optional[datetime] = Query(None, description="Filter by start date"),
|
|
|
|
end_date: Optional[datetime] = Query(None, description="Filter by end date"),
|
|
|
|
end_date: Optional[datetime] = Query(None, description="Filter by end date"),
|
|
|
|
method: Optional[str] = Query(None, description="Filter by HTTP method"),
|
|
|
|
method: Optional[str] = Query(None, description="Filter by HTTP method"),
|
|
|
|
status_code: Optional[int] = Query(None, description="Filter by status code"),
|
|
|
|
status_code: Optional[int] = Query(None, description="Filter by exact status code"),
|
|
|
|
|
|
|
|
min_status_code: Optional[int] = Query(None, description="Filter by minimum status code (e.g. 500 for all 5xx)"),
|
|
|
|
|
|
|
|
max_status_code: Optional[int] = Query(None, description="Filter by maximum status code (e.g. 599 for all 5xx)"),
|
|
|
|
endpoint: Optional[str] = Query(None, description="Filter by endpoint (supports wildcards)"),
|
|
|
|
endpoint: Optional[str] = Query(None, description="Filter by endpoint (supports wildcards)"),
|
|
|
|
min_response_time: Optional[float] = Query(None, description="Minimum response time in ms"),
|
|
|
|
min_response_time: Optional[float] = Query(None, description="Minimum response time in ms"),
|
|
|
|
max_response_time: Optional[float] = Query(None, description="Maximum response time in ms"),
|
|
|
|
max_response_time: Optional[float] = Query(None, description="Maximum response time in ms"),
|
|
|
|
@ -74,6 +76,10 @@ async def get_request_logs(
|
|
|
|
filters.append(RequestLog.method == method.upper())
|
|
|
|
filters.append(RequestLog.method == method.upper())
|
|
|
|
if status_code:
|
|
|
|
if status_code:
|
|
|
|
filters.append(RequestLog.status_code == status_code)
|
|
|
|
filters.append(RequestLog.status_code == status_code)
|
|
|
|
|
|
|
|
if min_status_code:
|
|
|
|
|
|
|
|
filters.append(RequestLog.status_code >= min_status_code)
|
|
|
|
|
|
|
|
if max_status_code:
|
|
|
|
|
|
|
|
filters.append(RequestLog.status_code <= max_status_code)
|
|
|
|
if endpoint:
|
|
|
|
if endpoint:
|
|
|
|
# Support wildcard matching
|
|
|
|
# Support wildcard matching
|
|
|
|
if '*' in endpoint:
|
|
|
|
if '*' in endpoint:
|
|
|
|
|