Decorators¶
@crossdomain¶
-
lair.decorators.
crossdomain
(origin, methods=None, headers=None, max_age=21600, attach_to_all=True, automatic_options=True)¶ Snippet from: http://flask.pocoo.org/snippets/56/
Allow requests from everywhere:
@app.route('/') @crossdomain('*') def index(): return 'All requests are welcome!'
Only from a given domain:
@app.route('/') @crossdomain(['test.domain.tld']) def index(): return 'All requests are welcome, ' 'but only from test.domain.tld!'
Only GET and OPTIONS are allowed:
@app.route('/my_service', methods=['GET', 'OPTIONS']) @crossdomain(origin='*') def my_service(): return 'GET only for crossdomain'
- :param origin:List[str]
- ‘*’ to allow all origins, otherwise a string with a URL or a list of URLs that might access the resource.
- :param methods:List[str]
- Optionally a list of methods that are allowed for this view. If not provided it will allow all methods that are implemented.
- :param headers:List[str]
- Access-Control-Allow-Headers; Optionally a list of headers that are allowed for this request.
- :param max_age:int
- Access-Control-Max-Age; The number of seconds as integer or timedelta object for which the preflighted request is valid.
- :param attach_to_all:bool
- True if the decorator should add the access control headers to all HTTP methods or False if it should only add them to OPTIONS responses.
- :param automatic_options:bool
- If enabled the decorator will use the default Flask OPTIONS response and attach the headers there, otherwise the view function will be called to generate an appropriate response.
- :return Callable
- Flask Decorator