2024-04-29 04:04:41 发布
网友
有大量关于如何设置CORS头的信息,以允许在瓶子中的所有请求的起源,主要使用Hooks插件和“afterrequest”。(https://bottlepy.org/docs/dev/recipes.html)
但是,我有10个路由,我只想在其中一个上启用CORS请求。有没有办法用hooks插件做到这一点?在
如果没有,我应该为特定的路由实现OPTIONS方法吗?在
如果只是一个路由,为什么不直接将CORS头应用于这一个路由呢?还可以使用decorator类将头添加到所需的任何路由。在
您应该像下面这样创建常规路由来拦截方法选项的任何请求,然后添加一个钩子将CORS头应用于所有请求:
import bottle # This route capture all route for method OPTIONS @bottle.route('/<:re:.*>', method='OPTIONS') def cors(): pass headers = ['Origin', 'Accept', 'Content-Type', 'X-Requested-With', 'X-CSRF-Token', 'Authorization'] HEADERS = ', '.join((headers + [h.lower() for h in headers])) # For all request I add cors headers def apply_cors(): response.headers['Access-Control-Allow-Origin'] = '*' response.headers['Access-Control-Allow-Methods'] = 'GET, POST, DELETE, PUT, OPTIONS' response.headers['Access-Control-Allow-Headers'] = HEADERS app = bottle.default_app() app.add_hook('after_request', apply_cors)
如果只是一个路由,为什么不直接将CORS头应用于这一个路由呢?还可以使用decorator类将头添加到所需的任何路由。在
您应该像下面这样创建常规路由来拦截方法选项的任何请求,然后添加一个钩子将CORS头应用于所有请求:
相关问题 更多 >
编程相关推荐