Skip to content

Instantly share code, notes, and snippets.

@apendleton
Created January 6, 2011 16:21
Show Gist options
  • Save apendleton/768105 to your computer and use it in GitHub Desktop.
Save apendleton/768105 to your computer and use it in GitHub Desktop.
CORS redirect test
### urls.py ###
from django.conf.urls.defaults import *
from views import *
urlpatterns = patterns('',
url(r'^view1/$', view1, name='view1'),
url(r'^view2/$', view2, name='view2'),
)
### views.py ###
from django.http import HttpResponse, HttpResponseRedirect
def cors_allow_all(orig_func):
def new_func(request, *args, **kwargs):
if request.method == 'OPTIONS':
response = HttpResponse()
else:
response = orig_func(request, *args, **kwargs)
response['Access-Control-Allow-Origin'] = '*'
response['Access-Control-Allow-Methods'] = '*'
response['Access-Control-Allow-Headers'] = '*'
response['Access-Control-Expose-Headers'] = '*'
response['Access-Control-Max-Age'] = '172800'
return response
return new_func
@cors_allow_all
def view1(request):
return HttpResponseRedirect('/view2/')
@cors_allow_all
def view2(request):
return HttpResponse('Success')
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment