src/cm/middleware.py
changeset 475 782d40ecf7c3
parent 285 1070d52adc11
--- a/src/cm/middleware.py	Fri Nov 30 14:43:51 2012 +0100
+++ b/src/cm/middleware.py	Thu Dec 06 09:48:45 2012 +0100
@@ -19,3 +19,24 @@
                 redirect_url = reverse('unauthorized')
                 return HttpResponseRedirect(redirect_url)
         raise
+
+    """
+        This middleware allows cross-domain XHR using the html5 postMessage API.
+    """
+    def process_request(self, request):
+
+        if 'HTTP_ACCESS_CONTROL_REQUEST_METHOD' in request.META:
+            response = http.HttpResponse()
+            response['Access-Control-Allow-Origin']  = '*' 
+            return response
+
+        return None
+
+    def process_response(self, request, response):
+        # Avoid unnecessary work
+        if response.has_header('Access-Control-Allow-Origin'):
+            return response
+
+        response['Access-Control-Allow-Origin']  = '*' 
+
+        return response