簡體   English   中英

為龍卷風中的所有請求設置標題

[英]set headers for all requests in tornado

我通過這種方式為我的請求設置標題:

class ContactInfoHandler(tornado.web.RequestHandler):
    def set_default_headers(self):
        print "setting headers!!!"
        self.set_header("Access-Control-Allow-Origin", "*")
        self.set_header("Access-Control-Allow-Headers", "x-requested-with")
        self.set_header('Access-Control-Allow-Methods', 'POST, GET, OPTIONS')

    def get(self, *args, **kwargs):
        self.write('something')

我必須為所有處理程序執行此操作,是否有辦法在整個Tornado項目中全部執行此操作?

您可以編寫從tornado.web.RequestHandler繼承的處理程序,然后可以從該處理程序繼承所有用作API的處理程序。 這是下面的例子。

from tornado.web import RequestHandler

class BaseHandler(RequestHandler):
    def get(self, *args, **kwargs):
        self.write("say something")

    def set_default_headers(self, *args, **kwargs):
        self.set_header("Access-Control-Allow-Origin", "*")
        self.set_header("Access-Control-Allow-Headers", "x-requested-with")
        self.set_header("Access-Control-Allow-Methods", "POST, GET, OPTIONS")

當你做了這一步,你完全可以繼承什么BaseHandler可以通過編寫繼承自處理程序做BaseHandler

class ContactInfoHandler(BaseHandler):
    def get(self, *args, **kwargs):
        self.write("something")

class TestInfoHandler(BaseHandler):
    def post(self, *args, **kwargs):
        self.write("test result is here")

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM