Ondrej Sika

Cross origin requests in Flask

16 Dec 2013

I was simplify Decorator for the HTTP Access Control to

from functools import update_wrapper
from flask import  make_response

def access_controll_allow_all(f):
    def wrapper(*args, **kwargs):
        response = make_response(f(*args, **kwargs))
        response.headers['Access-Control-Allow-Origin'] = "*"
        response.headers['Access-Control-Allow-Methods'] = "*"
        response.headers['Access-Control-Allow-Headers'] = "*"
        return response
    f.provide_automatic_options = False
    return update_wrapper(wrapper, f)

Example of usage

from functools import update_wrapper
from flask import  make_response

def access_controll_allow_all(f):
    def wrapper(*args, **kwargs):
        response = make_response(f(*args, **kwargs))
        response.headers['Access-Control-Allow-Origin'] = "*"
        response.headers['Access-Control-Allow-Methods'] = "*"
        response.headers['Access-Control-Allow-Headers'] = "*"
        return response
    f.provide_automatic_options = False
    return update_wrapper(wrapper, f)


from flask import Flask

app = Flask(__name__)

@app.route("/")
@access_controll_allow_all
def hello():
    return "Hello World!"

if __name__ == "__main__":
    app.debug = True
    app.run()

Share on Facebook, Twitter, Google+, Linkedin

comments powered by Disqus

--