应用程序调度程序¶
这个中间件创建了一个单独的wsgi应用程序,该应用程序发送到安装在不同URL路径上的多个其他wsgi应用程序。
一个常见的例子是编写单页应用程序,其中有一个后端API和一个用JavaScript编写的前端,它在浏览器中执行路由,而不是从服务器请求不同的页面。前端是一个HTML和JS文件,应该为除“/api”之外的任何路径提供服务。
此示例发送到“api”下的api应用程序、“admin”下的管理应用程序以及为所有其他请求提供前端文件的应用程序:
app = DispatcherMiddleware(serve_frontend, {
'/api': api_app,
'/admin': admin_app,
})
在生产环境中,您可以在HTTP服务器级别处理此问题,根据位置提供文件或代理到应用程序服务器。API和管理应用程序都将部署在单独的wsgi服务器上,静态文件将直接由HTTP服务器提供服务。