From 7d4e9be589acdfbb0eeb43d82c393edf077fe43b Mon Sep 17 00:00:00 2001 From: Hans Kallekleiv <16436291+HansKallekleiv@users.noreply.github.com> Date: Tue, 7 Jan 2025 14:45:21 +0100 Subject: [PATCH] wip --- backend_py/primary/primary/main.py | 3 ++- backend_py/primary/primary/middleware/browser_cache.py | 4 ++++ 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/backend_py/primary/primary/main.py b/backend_py/primary/primary/main.py index be43ca621..d720636c6 100644 --- a/backend_py/primary/primary/main.py +++ b/backend_py/primary/primary/main.py @@ -105,6 +105,7 @@ def custom_generate_unique_id(route: APIRoute) -> str: # Also redirects to /login endpoint for some select paths unprotected_paths = ["/logged_in_user", "/alive", "/openapi.json"] paths_redirected_to_login = ["/", "/alive_protected"] +app.add_middleware(BrowserCacheMiddleware) app.add_middleware( EnforceLoggedInMiddleware, unprotected_paths=unprotected_paths, @@ -113,7 +114,7 @@ def custom_generate_unique_id(route: APIRoute) -> str: session_store = RedisStore(config.REDIS_USER_SESSION_URL, prefix="user-auth:") app.add_middleware(SessionMiddleware, store=session_store) -app.add_middleware(BrowserCacheMiddleware) + app.add_middleware(ProxyHeadersMiddleware, trusted_hosts="*") # This middleware instance measures execution time of the endpoints, including the cost of other middleware diff --git a/backend_py/primary/primary/middleware/browser_cache.py b/backend_py/primary/primary/middleware/browser_cache.py index 480587431..ff9927f1e 100644 --- a/backend_py/primary/primary/middleware/browser_cache.py +++ b/backend_py/primary/primary/middleware/browser_cache.py @@ -6,6 +6,8 @@ def custom_browser_cache_time(max_age: int): + """Override default cache time for a specific route.""" + def decorator(func): @wraps(func) async def wrapper(*args, **kwargs): @@ -21,6 +23,8 @@ async def wrapper(*args, **kwargs): class BrowserCacheMiddleware(BaseHTTPMiddleware): + """Set default cache time for all routes.""" + async def dispatch(self, request: Request, call_next: RequestResponseEndpoint) -> Response: response = await call_next(request)