Allowed module routes to return static file responses.
This commit is contained in:
+1
-1
Submodule docs updated: 268e3c839a...df285f62d9
@@ -38,9 +38,9 @@ class RouteMark(TypedDict):
|
|||||||
methods: list[str] | None
|
methods: list[str] | None
|
||||||
|
|
||||||
|
|
||||||
# Handler type: receives RouteContext, returns web.Response or dict (auto-JSON).
|
# Handler type: receives RouteContext, returns a response or dict (auto-JSON).
|
||||||
type RouteHandler = (
|
type RouteHandler = (
|
||||||
"Callable[[RouteContext], Awaitable[web.Response | dict[str, Any] | None]]"
|
"Callable[[RouteContext], Awaitable[web.StreamResponse | dict[str, Any] | None]]"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -162,6 +162,6 @@ class HttpServer:
|
|||||||
|
|
||||||
return web.Response(status=202)
|
return web.Response(status=202)
|
||||||
|
|
||||||
async def _handle_catch_all(self, request: web.Request) -> web.Response:
|
async def _handle_catch_all(self, request: web.Request) -> web.StreamResponse:
|
||||||
"""Delegate module route requests to the RouteDispatcher."""
|
"""Delegate module route requests to the RouteDispatcher."""
|
||||||
return await self._route_dispatcher.dispatch(request)
|
return await self._route_dispatcher.dispatch(request)
|
||||||
|
|||||||
@@ -330,7 +330,7 @@ class RouteDispatcher:
|
|||||||
"""
|
"""
|
||||||
return self._route_registry.unregister_by_module(module_name)
|
return self._route_registry.unregister_by_module(module_name)
|
||||||
|
|
||||||
async def dispatch(self, request: web.Request) -> web.Response:
|
async def dispatch(self, request: web.Request) -> web.StreamResponse:
|
||||||
"""
|
"""
|
||||||
Dispatch an HTTP request to the appropriate module route handler.
|
Dispatch an HTTP request to the appropriate module route handler.
|
||||||
|
|
||||||
@@ -371,7 +371,7 @@ class RouteDispatcher:
|
|||||||
request: web.Request,
|
request: web.Request,
|
||||||
route_info: RouteInfo,
|
route_info: RouteInfo,
|
||||||
match_info: dict[str, str] | None = None,
|
match_info: dict[str, str] | None = None,
|
||||||
) -> web.Response:
|
) -> web.StreamResponse:
|
||||||
"""
|
"""
|
||||||
Handle an HTTP request to a module-registered route.
|
Handle an HTTP request to a module-registered route.
|
||||||
|
|
||||||
@@ -418,7 +418,7 @@ class RouteDispatcher:
|
|||||||
|
|
||||||
if result is None:
|
if result is None:
|
||||||
return web.Response(status=204) # No Content.
|
return web.Response(status=204) # No Content.
|
||||||
elif isinstance(result, web.Response):
|
elif isinstance(result, web.StreamResponse):
|
||||||
return result
|
return result
|
||||||
elif isinstance(result, dict):
|
elif isinstance(result, dict):
|
||||||
return web.json_response(result)
|
return web.json_response(result)
|
||||||
|
|||||||
Reference in New Issue
Block a user