From e11c5da4a9332f2cf4b8d857cf00300720ed99c8 Mon Sep 17 00:00:00 2001 From: nercone-dev Date: Sat, 25 Apr 2026 00:41:17 +0900 Subject: [PATCH] -- --- src/nercone_website/server.py | 25 +++++++++++++++++++++++-- 1 file changed, 23 insertions(+), 2 deletions(-) diff --git a/src/nercone_website/server.py b/src/nercone_website/server.py index 0b3b996..f6cd3e8 100644 --- a/src/nercone_website/server.py +++ b/src/nercone_website/server.py @@ -257,6 +257,17 @@ async def default_response(request: Request, full_path: str) -> Response: else: lightweight_mode = request.cookies.get("lightweight_mode", "") == "true" + donotcount_query = request.query_params.get("donotcount", "").lower() + donotcount_header = request.headers.get("donotcount", "").lower() + donotcount_signal = donotcount_query or donotcount_header + + if donotcount_signal in ["1", "y", "yes", "true"]: + donotcount_mode = True + elif donotcount_signal in ["0", "n", "no", "false"]: + donotcount_mode = False + else: + donotcount_mode = request.cookies.get("donotcount_mode", "") == "true" + if full_path in ["", "/"]: template_candidates = ["index.html"] elif full_path.endswith(".html"): @@ -284,7 +295,12 @@ async def default_response(request: Request, full_path: str) -> Response: if request.cookies.get("lightweight_mode", "") == "true": response.set_cookie("lightweight_mode", "false", samesite="lax") - accesscounter.increase() + if donotcount_mode: + accesscounter.increase() + response.set_cookie("donotcount_mode", "true", samesite="lax") + elif request.cookies.get("donotcount_mode", "") == "true": + response.set_cookie("donotcount_mode", "false", samesite="lax") + return response except TemplateNotFound: continue @@ -333,7 +349,12 @@ async def default_response(request: Request, full_path: str) -> Response: elif request.cookies.get("lightweight_mode", "") == "true": response.set_cookie("lightweight_mode", "false", samesite="lax") - accesscounter.increase() + if donotcount_mode: + accesscounter.increase() + response.set_cookie("donotcount_mode", "true", samesite="lax") + elif request.cookies.get("donotcount_mode", "") == "true": + response.set_cookie("donotcount_mode", "false", samesite="lax") + return response except FileNotFoundError: continue