(
self, route: BaseRoute
)
| 1624 | return self._effective_low_priority_routes |
| 1625 | |
| 1626 | def _build_effective_context( |
| 1627 | self, route: BaseRoute |
| 1628 | ) -> _EffectiveRouteContext | None: |
| 1629 | if isinstance(route, APIRoute): |
| 1630 | return _EffectiveRouteContext.from_api_route( |
| 1631 | original_route=route, |
| 1632 | include_context=self.include_context, |
| 1633 | ) |
| 1634 | if isinstance(route, _FrontendRouteGroup): |
| 1635 | return _EffectiveRouteContext.from_frontend_route_group( |
| 1636 | original_route=route, |
| 1637 | include_context=self.include_context, |
| 1638 | ) |
| 1639 | if isinstance(route, routing.Route): |
| 1640 | starlette_route: BaseRoute = routing.Route( |
| 1641 | self.include_context.path_for(route), |
| 1642 | endpoint=route.endpoint, |
| 1643 | methods=list(route.methods or []), |
| 1644 | name=route.name, |
| 1645 | include_in_schema=route.include_in_schema, |
| 1646 | ) |
| 1647 | return _EffectiveRouteContext( |
| 1648 | original_route=route, |
| 1649 | starlette_route=starlette_route, |
| 1650 | ) |
| 1651 | if isinstance(route, APIWebSocketRoute): |
| 1652 | starlette_route = APIWebSocketRoute( |
| 1653 | self.include_context.path_for(route), |
| 1654 | endpoint=route.endpoint, |
| 1655 | name=route.name, |
| 1656 | dependencies=[*self.include_context.dependencies, *route.dependencies], |
| 1657 | dependency_overrides_provider=( |
| 1658 | self.include_context.dependency_overrides_provider |
| 1659 | ), |
| 1660 | ) |
| 1661 | return _EffectiveRouteContext( |
| 1662 | original_route=route, |
| 1663 | starlette_route=starlette_route, |
| 1664 | ) |
| 1665 | if isinstance(route, routing.WebSocketRoute): |
| 1666 | starlette_route = routing.WebSocketRoute( |
| 1667 | self.include_context.path_for(route), route.endpoint, name=route.name |
| 1668 | ) |
| 1669 | return _EffectiveRouteContext( |
| 1670 | original_route=route, |
| 1671 | starlette_route=starlette_route, |
| 1672 | ) |
| 1673 | if isinstance(route, routing.Mount): |
| 1674 | starlette_route = copy.copy(route) |
| 1675 | starlette_route.path = self.include_context.path_for(route).rstrip("/") |
| 1676 | ( |
| 1677 | starlette_route.path_regex, |
| 1678 | starlette_route.path_format, |
| 1679 | starlette_route.param_convertors, |
| 1680 | ) = compile_path(starlette_route.path + "/{path:path}") |
| 1681 | return _EffectiveRouteContext( |
| 1682 | original_route=route, |
| 1683 | starlette_route=starlette_route, |
no test coverage detected