From ea8af383cc1bdb578db6308d3eff1073144d5cd0 Mon Sep 17 00:00:00 2001 From: retoor Date: Sun, 9 Nov 2025 01:49:11 +0100 Subject: [PATCH] Update. --- retoors/helpers/auth.py | 2 +- retoors/main.py | 3 ++- retoors/middlewares.py | 4 ++++ retoors/views/site.py | 8 ++++---- 4 files changed, 11 insertions(+), 6 deletions(-) diff --git a/retoors/helpers/auth.py b/retoors/helpers/auth.py index cc2555b..730ba1c 100644 --- a/retoors/helpers/auth.py +++ b/retoors/helpers/auth.py @@ -7,7 +7,7 @@ def login_required(func): @wraps(func) async def wrapper(self, *args, **kwargs): if not getattr(self, 'request', None): - request = self + request = self else: request = self.request session = await get_session(request) diff --git a/retoors/main.py b/retoors/main.py index afcd137..62b297f 100644 --- a/retoors/main.py +++ b/retoors/main.py @@ -11,7 +11,7 @@ from .routes import setup_routes from .services.user_service import UserService from .services.config_service import ConfigService from .services.file_service import FileService # Import FileService -from .middlewares import user_middleware, error_middleware +from .middlewares import user_middleware, error_middleware,request_hybrid_middleware from .helpers.env_manager import ensure_env_file_exists, get_or_create_session_secret_key # Import new function @@ -40,6 +40,7 @@ def create_app(): # The order of middleware registration matters. # They are executed in the order they are added. + app.middlewares.append(request_hybrid_middleware) app.middlewares.append(error_middleware) # Setup session diff --git a/retoors/middlewares.py b/retoors/middlewares.py index cdcabab..227a85f 100644 --- a/retoors/middlewares.py +++ b/retoors/middlewares.py @@ -1,6 +1,10 @@ from aiohttp import web from aiohttp_session import get_session +@web.middleware +async def request_hybrid_middleware(request, handler): + setattr(request,'request', request) + return await handler(request) @web.middleware async def user_middleware(request, handler): diff --git a/retoors/views/site.py b/retoors/views/site.py index d249b9b..2e6f831 100644 --- a/retoors/views/site.py +++ b/retoors/views/site.py @@ -239,10 +239,10 @@ class FileBrowserView(web.View): raise web.HTTPBadRequest(text="Unknown file action") @login_required - async def get_download_file(request): - user_email = request["user"]["email"] - file_service = request.app["file_service"] - file_path = request.match_info.get("file_path") + async def get_download_file(self): + user_email = self.request["user"]["email"] + file_service = self.request.app["file_service"] + file_path = self.request.match_info.get("file_path") logger.debug(f"FileBrowserView: Download file request for path: {file_path} by user {user_email}") if not file_path: logger.warning("FileBrowserView: Download file request missing file_path")