(
self,
path: str,
app: ASGIApp | None = None,
routes: Sequence[BaseRoute] | None = None,
name: str | None = None,
*,
middleware: Sequence[Middleware] | None = None,
)
| 358 | |
| 359 | class Mount(BaseRoute): |
| 360 | def __init__( |
| 361 | self, |
| 362 | path: str, |
| 363 | app: ASGIApp | None = None, |
| 364 | routes: Sequence[BaseRoute] | None = None, |
| 365 | name: str | None = None, |
| 366 | *, |
| 367 | middleware: Sequence[Middleware] | None = None, |
| 368 | ) -> None: |
| 369 | assert path == "" or path.startswith("/"), "Routed paths must start with '/'" |
| 370 | assert app is not None or routes is not None, "Either 'app=...', or 'routes=' must be specified" |
| 371 | self.path = path.rstrip("/") |
| 372 | if app is not None: |
| 373 | self._base_app: ASGIApp = app |
| 374 | else: |
| 375 | self._base_app = Router(routes=routes) |
| 376 | self.app = self._base_app |
| 377 | if middleware is not None: |
| 378 | for cls, args, kwargs in reversed(middleware): |
| 379 | self.app = cls(self.app, *args, **kwargs) |
| 380 | self.name = name |
| 381 | self.path_regex, self.path_format, self.param_convertors = compile_path(self.path + "/{path:path}") |
| 382 | |
| 383 | @property |
| 384 | def routes(self) -> list[BaseRoute]: |
nothing calls this directly
no test coverage detected