Browse Source

feat: GZip, Brotli, ZStd compression middleware support

Co-Authored-By: Jason Baker <jason.th.baker@gmail.com>
Timothy Jaeryang Baek 4 tháng trước cách đây
mục cha
commit
4da75a9e78
3 tập tin đã thay đổi với 7 bổ sung0 xóa
  1. 3 0
      backend/open_webui/main.py
  2. 2 0
      backend/requirements.txt
  3. 2 0
      pyproject.toml

+ 3 - 0
backend/open_webui/main.py

@@ -40,6 +40,8 @@ from fastapi.middleware.cors import CORSMiddleware
 from fastapi.responses import JSONResponse, RedirectResponse
 from fastapi.staticfiles import StaticFiles
 
+from starlette_compress import CompressMiddleware
+
 from starlette.exceptions import HTTPException as StarletteHTTPException
 from starlette.middleware.base import BaseHTTPMiddleware
 from starlette.middleware.sessions import SessionMiddleware
@@ -963,6 +965,7 @@ class RedirectMiddleware(BaseHTTPMiddleware):
 
 
 # Add the middleware to the app
+app.add_middleware(CompressMiddleware)
 app.add_middleware(RedirectMiddleware)
 app.add_middleware(SecurityHeadersMiddleware)
 

+ 2 - 0
backend/requirements.txt

@@ -12,6 +12,8 @@ aiohttp==3.11.11
 async-timeout
 aiocache
 aiofiles
+starlette-compress==1.6.0
+
 
 sqlalchemy==2.0.38
 alembic==1.14.0

+ 2 - 0
pyproject.toml

@@ -21,6 +21,8 @@ dependencies = [
     "aiocache",
     "aiofiles",
 
+    "starlette-compress==1.6.0",
+
     "sqlalchemy==2.0.38",
     "alembic==1.14.0",
     "peewee==3.18.1",