From ca55b48d24c276a819f79298db17e40988fa75b7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mateusz=20Gruszczy=C5=84ski?= Date: Thu, 9 Oct 2025 17:01:54 +0200 Subject: [PATCH] dane w headerach i inne funkcje --- app/main.py | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/app/main.py b/app/main.py index f7af6d6..3ce5ff8 100644 --- a/app/main.py +++ b/app/main.py @@ -1,5 +1,5 @@ from fastapi import FastAPI, Request, Response -from fastapi.responses import PlainTextResponse +from fastapi.responses import JSONResponse, PlainTextResponse from starlette.middleware.base import BaseHTTPMiddleware from .deps import get_geo from .api import get_client_ip, router @@ -38,14 +38,18 @@ async def favicon(): return Response(status_code=204) -@app.get("/") +@app.api_route("/", methods=["GET", "HEAD"]) async def root(request: Request): ua = request.headers.get("user-agent", "").lower() ip = get_client_ip(request).strip() if any(x in ua for x in ["mozilla", "chrome", "safari", "edge", "firefox"]): + if request.method == "HEAD": + return Response(status_code=404) return JSONResponse({"detail": "Not Found"}, status_code=404) + if request.method == "HEAD": + return Response(status_code=200) return PlainTextResponse(ip + "\n")