From 32668dfc5d44ceb1d19dbd06ff99d6d0d307adf7 Mon Sep 17 00:00:00 2001 From: Rodja Trappe Date: Tue, 31 Dec 2024 07:36:16 +0100 Subject: [PATCH] register middlewares as late as possible to make sure they are also applied to middlewares added by user code --- nicegui/nicegui.py | 4 ---- nicegui/ui_run.py | 4 ++++ 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/nicegui/nicegui.py b/nicegui/nicegui.py index 893b4f81b..ea7eb83fe 100644 --- a/nicegui/nicegui.py +++ b/nicegui/nicegui.py @@ -7,7 +7,6 @@ import socketio from fastapi import HTTPException, Request -from fastapi.middleware.gzip import GZipMiddleware from fastapi.responses import FileResponse, Response from . import air, background_tasks, binding, core, favicon, helpers, json, run, welcome @@ -17,7 +16,6 @@ from .error import error_content from .json import NiceGUIJSONResponse from .logging import log -from .middlewares import RedirectWithPrefixMiddleware from .page import page from .slot import Slot from .staticfiles import CacheControlledStaticFiles @@ -54,8 +52,6 @@ async def __call__(self, scope, receive, send): mimetypes.add_type('text/javascript', '.js') mimetypes.add_type('text/css', '.css') -app.add_middleware(GZipMiddleware) -app.add_middleware(RedirectWithPrefixMiddleware) static_files = CacheControlledStaticFiles( directory=(Path(__file__).parent / 'static').resolve(), follow_symlink=True, diff --git a/nicegui/ui_run.py b/nicegui/ui_run.py index 708fd87ba..2d9e739b8 100644 --- a/nicegui/ui_run.py +++ b/nicegui/ui_run.py @@ -4,6 +4,7 @@ from pathlib import Path from typing import Any, List, Literal, Optional, Tuple, TypedDict, Union +from fastapi.middleware.gzip import GZipMiddleware from starlette.routing import Route from uvicorn.main import STARTUP_FAILURE from uvicorn.supervisors import ChangeReload, Multiprocess @@ -16,6 +17,7 @@ from .client import Client from .language import Language from .logging import log +from .middlewares import RedirectWithPrefixMiddleware from .server import CustomServerConfig, Server APP_IMPORT_STRING = 'nicegui:app' @@ -122,6 +124,8 @@ def run(*, show_welcome_message=show_welcome_message, ) core.app.config.endpoint_documentation = endpoint_documentation + core.app.add_middleware(GZipMiddleware) + core.app.add_middleware(RedirectWithPrefixMiddleware) for route in core.app.routes: if not isinstance(route, Route):