Skip to content

Instantly share code, notes, and snippets.

@juanmhidalgo
Forked from robhudson/gist:3848832
Last active February 11, 2016 13:57
Show Gist options
  • Save juanmhidalgo/8708918 to your computer and use it in GitHub Desktop.
Save juanmhidalgo/8708918 to your computer and use it in GitHub Desktop.
Django Cors
class CORSResource(object):
"""
Adds CORS headers to resources that subclass this.
"""
def create_response(self, *args, **kwargs):
response = super(CORSResource, self).create_response(*args, **kwargs)
response['Access-Control-Allow-Origin'] = '*'
response['Access-Control-Allow-Headers'] = 'Content-Type'
return response
def method_check(self, request, allowed=None):
if allowed is None:
allowed = []
request_method = request.method.lower()
allows = ','.join(map(str.upper, allowed))
if request_method == 'options':
response = HttpResponse(allows)
response['Access-Control-Allow-Origin'] = '*'
response['Access-Control-Allow-Headers'] = 'Content-Type'
response['Allow'] = allows
raise ImmediateHttpResponse(response=response)
if not request_method in allowed:
response = http.HttpMethodNotAllowed(allows)
response['Allow'] = allows
raise ImmediateHttpResponse(response=response)
return request_method
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment