From 227ac0103fb4bae7d630200f634971017b1a3eb8 Mon Sep 17 00:00:00 2001 From: tangy5 Date: Thu, 4 Apr 2024 20:04:20 -0700 Subject: [PATCH] Update changes for fastapi 0.110.0 Signed-off-by: tangy5 --- monailabel/app.py | 12 +++++++++++- setup.cfg | 4 ++-- 2 files changed, 13 insertions(+), 3 deletions(-) diff --git a/monailabel/app.py b/monailabel/app.py index 2a39851f9..5c4e90aee 100644 --- a/monailabel/app.py +++ b/monailabel/app.py @@ -12,7 +12,7 @@ import os import pathlib -from fastapi import FastAPI +from fastapi import FastAPI, Request from fastapi.middleware import Middleware from fastapi.middleware.cors import CORSMiddleware from fastapi.openapi.docs import get_swagger_ui_html @@ -37,6 +37,15 @@ wsi_infer, ) from monailabel.interfaces.utils.app import app_instance, clear_cache +from starlette.middleware.base import BaseHTTPMiddleware + +class TrailingSlashMiddleware(BaseHTTPMiddleware): + async def dispatch(self, request: Request, call_next): + path = str(request.url.path) + new_path = f"/{path}" if not path.startswith('//') else path + request.scope['path'] = new_path + response = await call_next(request) + return response origins = [str(origin) for origin in settings.MONAI_LABEL_CORS_ORIGINS] if settings.MONAI_LABEL_CORS_ORIGINS else ["*"] print(f"Allow Origins: {origins}") @@ -56,6 +65,7 @@ ) ], ) +app.add_middleware(TrailingSlashMiddleware) static_dir = os.path.join(os.path.dirname(os.path.realpath(__file__)), "endpoints", "static") project_root_absolute = pathlib.Path(__file__).parent.parent.resolve() diff --git a/setup.cfg b/setup.cfg index 6221b8cdf..13f2b41f1 100644 --- a/setup.cfg +++ b/setup.cfg @@ -39,8 +39,8 @@ install_requires = uvicorn==0.21.1 pydantic>=1.10.7 python-dotenv==1.0.0 - fastapi==0.95.0 - python-multipart==0.0.6 + fastapi==0.110.0 + python-multipart==0.0.9 requests-toolbelt==0.10.1 httpx==0.23.3 schedule==1.1.0