龙卷风Web应用程序中的动态处理程序创建

时间:2019-05-03 13:57:56

标签: python tornado

我正在寻找一种可以基于配置创建处理程序的方法。配置将包含http动词,授权用户列表以及为给定处理程序和动词组合执行的逻辑。

在这里,我想避免每个开发人员花时间编写从RequestHandler派生的类,并让他们专注于提取数据的逻辑。由于其余的代码通常用于身份验证,因此生成响应时,他们只需指定期望的请求类型,例如GET或POST,以及谁是发送此请求的授权用户即可。

龙卷风中是否有任何可用的现成选项可实现这一目标?

1 个答案:

答案 0 :(得分:0)

这可以使用默认处理程序来实现,该处理程序可以处理任何请求。虽然这不会创建多个龙卷风处理程序,但仅创建1个,它将基于正则表达式捕获请求并采取相应的措施。以下是我如何实现的示例:

class DefaultHandler( tornado.web.RequestHandler ):
    def get( self ):
        path = self.request.path
        parameters = self.request.arguments
        #action to perform based on path and parameters

handlers = [ ( r'/.*', DefaultHandler), ]
app = tornado.web.Application( handlers )