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