[英]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.