diff options
Diffstat (limited to 'python/fatcat_web/cors.py')
-rw-r--r-- | python/fatcat_web/cors.py | 33 |
1 files changed, 19 insertions, 14 deletions
diff --git a/python/fatcat_web/cors.py b/python/fatcat_web/cors.py index cb2054b2..bb32f7c2 100644 --- a/python/fatcat_web/cors.py +++ b/python/fatcat_web/cors.py @@ -1,4 +1,3 @@ - """ This snippet from: http://flask.pocoo.org/snippets/56/ "Posted by Armin Ronacher on 2011-07-14" @@ -10,15 +9,20 @@ from functools import update_wrapper from flask import current_app, make_response, request -def crossdomain(origin=None, methods=None, headers=None, - max_age=21600, attach_to_all=True, - automatic_options=True): +def crossdomain( + origin=None, + methods=None, + headers=None, + max_age=21600, + attach_to_all=True, + automatic_options=True, +): if methods is not None: - methods = ', '.join(sorted(x.upper() for x in methods)) + methods = ", ".join(sorted(x.upper() for x in methods)) if headers is not None and not isinstance(headers, str): - headers = ', '.join(x.upper() for x in headers) + headers = ", ".join(x.upper() for x in headers) if not isinstance(origin, str): - origin = ', '.join(origin) + origin = ", ".join(origin) if isinstance(max_age, timedelta): max_age = max_age.total_seconds() @@ -27,26 +31,27 @@ def crossdomain(origin=None, methods=None, headers=None, return methods options_resp = current_app.make_default_options_response() - return options_resp.headers['allow'] + return options_resp.headers["allow"] def decorator(f): def wrapped_function(*args, **kwargs): - if automatic_options and request.method == 'OPTIONS': + if automatic_options and request.method == "OPTIONS": resp = current_app.make_default_options_response() else: resp = make_response(f(*args, **kwargs)) - if not attach_to_all and request.method != 'OPTIONS': + if not attach_to_all and request.method != "OPTIONS": return resp h = resp.headers - h['Access-Control-Allow-Origin'] = origin - h['Access-Control-Allow-Methods'] = get_methods() - h['Access-Control-Max-Age'] = str(max_age) + h["Access-Control-Allow-Origin"] = origin + h["Access-Control-Allow-Methods"] = get_methods() + h["Access-Control-Max-Age"] = str(max_age) if headers is not None: - h['Access-Control-Allow-Headers'] = headers + h["Access-Control-Allow-Headers"] = headers return resp f.provide_automatic_options = False return update_wrapper(wrapped_function, f) + return decorator |