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

1from typing import Optional, List, Type 

2 

3from fastapi.routing import APIRoute 

4from starlette.middleware import Middleware 

5 

6 

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 

15 

16 return CustomAPIRoute