Coverage for apps/outers/interfaces/deliveries/middlewares/wrapper_middleware.py: 0%
12 statements
« prev ^ index » next coverage.py v7.6.1, created at 2024-09-22 19:03 +0000
« prev ^ index » next coverage.py v7.6.1, created at 2024-09-22 19:03 +0000
1from typing import Optional, List, Type
3from fastapi.routing import APIRoute
4from starlette.middleware import Middleware
7def MiddlewareWrapper(middleware: Optional[List[Middleware]] = None) -> Type[APIRoute]:
8 class CustomAPIRoute(APIRoute):
9 def __init__(self, *args, **kwargs):
10 super().__init__(*args, **kwargs)
11 app = self.app
12 for cls, options in reversed(middleware or []):
13 app = cls(app, **options)
14 self.app = app
16 return CustomAPIRoute