| 1070 | unordered_events: list[str] = [] |
| 1071 | |
| 1072 | class MyMiddleware(BaseHTTPMiddleware): |
| 1073 | def __init__(self, app: ASGIApp, version: int) -> None: |
| 1074 | self.version = version |
| 1075 | super().__init__(app) |
| 1076 | |
| 1077 | async def dispatch(self, request: Request, call_next: RequestResponseEndpoint) -> Response: |
| 1078 | ordered_events.append(f"{self.version}:STARTED") |
| 1079 | res = await call_next(request) |
| 1080 | ordered_events.append(f"{self.version}:COMPLETED") |
| 1081 | |
| 1082 | def background() -> None: |
| 1083 | unordered_events.append(f"{self.version}:BACKGROUND") |
| 1084 | |
| 1085 | assert res.background is None |
| 1086 | res.background = BackgroundTask(background) |
| 1087 | return res |
| 1088 | |
| 1089 | async def sleepy(request: Request) -> Response: |
| 1090 | try: |
no outgoing calls