用于将请求分发到多个ASGI应用的中间件,由hypercorn提取。
项目描述
asgi-dispatcher-middleware
用于将请求分发到多个ASGI应用的中间件,由hypercorn提取。
分发到多个ASGI应用
同时服务于多个ASGI应用,在各自的根路径下,这在很多情况下是有用的。这个中间件允许在不同的挂载点上服务于多个应用。
DispatcherMiddleware
接收一个字典,该字典以根路径为键,包含应用。这个字典的顺序很重要,因为根路径会按照这个顺序进行检查。因此,将 /a/b
添加到 /a
之前是很重要的,否则后者会首先匹配所有内容。另外,请注意,根路径不应包含尾随斜杠。
一个示例用法是同时服务于一个graphql应用和一个静态文件服务应用。使用名为 graphql_app
的graphql应用,以根路径 /graphql
服务所有内容,并使用名为 static_app
的静态文件应用服务其他所有内容(即根路径为 /
)。此时,DispatcherMiddleware
可以配置为:
from asgi_dispatcher_middleware import DispatcherMiddleware
dispatcher_app = DispatcherMiddleware({
"/graphql": graphql_app,
"/": static_app,
})
然后可以通过任何ASGI框架提供服务
$ hypercorn module:dispatcher_app
$ uvicorn module:dispatcher_app
另请参阅
项目详情
关闭
asgi-dispatcher-middleware-1.0.0.tar.gz 的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 765048e09351fc0e3dface205ff0b4358e063f1b0c09ce50c5080e8d0f1560d8 |
|
MD5 | 69520f41bfa162eb231df1067f78cbb6 |
|
BLAKE2b-256 | 125d84dbcece5ad2fd0d61581e528530b6f7e82364a5f88dc3bff8299cf52bdf |
关闭
asgi_dispatcher_middleware-1.0.0-py2.py3-none-any.whl 的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 635a89e327912e951afedec20cbb493a6c3ba27fcf1b2bb5bc6ae72a8bf1fda4 |
|
MD5 | f26fb7243f38f95dce02f314a431d3d7 |
|
BLAKE2b-256 | 4075bfc08fc185e49d57f3b9b1979fe8b944d484743869c07afb27310e310c09 |