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 | 
