Google App Engine向webapp2.RequestHandler添加功能

时间:2014-02-11 06:07:16

标签: python google-app-engine inheritance

我的GAE应用程序遇到POST请求的CORS问题。我发现简单的解决方案是在我的请求处理程序中调用self.response.headers.add("Access-Control-Allow-Origin", "*")。我想不必为我编写的每个POST处理程序调用它,所以我创建了一个名为PostHandler的mediary类,它继承自webapp2.RequestHandler,并且处理POST请求的处理程序将继承。这就是我实现这个类的方法:

class PostHandler(webapp2.RequestHandler):
    def __init__(self, request, response):
        super(PostHandler, self).__init__(request, response)
        self.response.headers.add("Access-Control-Allow-Origin", "*")

这会做我期望它做的吗?如果我有另一个处理程序:

class Login(PostHandler):
    def post(self):
        #blah

该处理程序是否适当webapp2.RequestHandler?或者我必须做些不同的事情吗?

1 个答案:

答案 0 :(得分:4)

我以这种方式做同样的事情并且工作正常

class PostHandler(webapp2.RequestHandler):
    def dispatch(self):
        self.response.headers['Access-Control-Allow-Origin'] = '*'
        super(PostHandler, self).dispatch()

class Login(PostHandler):
    def post(self):