Route incoming request.
(
self, connection: ServerConnection, request: Request
)
| 188 | return connection.respond(http.HTTPStatus.NOT_FOUND, "Not Found") |
| 189 | |
| 190 | def route_request( |
| 191 | self, connection: ServerConnection, request: Request |
| 192 | ) -> Response | None: |
| 193 | """Route incoming request.""" |
| 194 | url_map_adapter = self.url_map.bind( |
| 195 | server_name=self.get_server_name(connection, request), |
| 196 | url_scheme=self.url_scheme, |
| 197 | ) |
| 198 | try: |
| 199 | parsed = urllib.parse.urlparse(request.path) |
| 200 | handler, kwargs = url_map_adapter.match( |
| 201 | path_info=parsed.path, |
| 202 | query_args=parsed.query, |
| 203 | ) |
| 204 | except RequestRedirect as redirect: |
| 205 | return self.redirect(connection, redirect.new_url) |
| 206 | except NotFound: |
| 207 | return self.not_found(connection) |
| 208 | connection.handler, connection.handler_kwargs = handler, kwargs |
| 209 | return None |
| 210 | |
| 211 | def handler(self, connection: ServerConnection) -> None: |
| 212 | """Handle a connection.""" |
no test coverage detected