This repository has been archived on 2025-02-26. You can view files and clone it, but cannot push or open issues or pull requests.
szurubooru/server/szurubooru/middleware/request_logger.py
Shyam Sunder 636498ad38 client+server: implement HTML caching and URL prefix determination
* Uses 'X-Forwarded-Prefix' header to determine base URL if not
  explicitly defined
* Authentication ignored for HTML generation to improve caching
* Also add logging of 'User-Agent' for HTML requests
2021-09-24 20:04:56 -04:00

30 lines
734 B
Python

import logging
from szurubooru import db, rest
from szurubooru.rest import middleware
logger = logging.getLogger(__name__)
@middleware.pre_hook
def process_request(_ctx: rest.Context) -> None:
db.reset_query_count()
@middleware.post_hook
def process_response(ctx: rest.Context) -> None:
if ctx.accept == "application/json":
logger.info(
"%s %s (user=%s, queries=%d)",
ctx.method,
ctx.url,
ctx.user.name,
db.get_query_count(),
)
elif ctx.accept == "text/html":
logger.info(
"HTML %s (user-agent='%s' queries=%d)",
ctx.url,
ctx.get_header("User-Agent"),
db.get_query_count(),
)