Improved cors middleware.

remotes/origin/enhancement/email-actions
Andrey Antukh 2013-11-09 00:12:11 +01:00
parent f31b2fafa9
commit 16011e05e3
1 changed files with 12 additions and 12 deletions

View File

@ -19,24 +19,24 @@ class GreenmineSessionMiddleware(SessionMiddleware):
COORS_ALLOWED_ORIGINS = getattr(settings, 'COORS_ALLOWED_ORIGINS', '*') COORS_ALLOWED_ORIGINS = '*'
COORS_ALLOWED_METHODS = getattr(settings, 'COORS_ALLOWED_METHODS', COORS_ALLOWED_METHODS = ['POST', 'GET', 'OPTIONS', 'PUT', 'DELETE', 'PATCH']
['POST', 'GET', 'OPTIONS', 'PUT', 'DELETE', 'PATCH']) COORS_ALLOWED_HEADERS = ['Content-Type', 'X-Requested-With',
COORS_ALLOWED_HEADERS = getattr(settings, 'COORS_ALLOWED_HEADERS', 'Authorization', 'Accept-Encoding',
['Content-Type', 'X-Requested-With', 'X-Disable-Pagination']
'Authorization', 'Accept-Encoding', COORS_ALLOWED_CREDENTIALS = True
'X-Disable-Pagination']) COORS_EXPOSE_HEADERS = ["x-pagination-count", "x-paginated", "x-paginated-by"]
COORS_ALLOWED_CREDENTIALS = getattr(settings, 'COORS_ALLOWED_CREDENTIALS', True)
class CoorsMiddleware(object): class CoorsMiddleware(object):
def _populate_response(self, response): def _populate_response(self, response):
response['Access-Control-Allow-Origin'] = COORS_ALLOWED_ORIGINS response["Access-Control-Allow-Origin"] = COORS_ALLOWED_ORIGINS
response['Access-Control-Allow-Methods'] = ",".join(COORS_ALLOWED_METHODS) response["Access-Control-Allow-Methods"] = ",".join(COORS_ALLOWED_METHODS)
response['Access-Control-Allow-Headers'] = ",".join(COORS_ALLOWED_HEADERS) response["Access-Control-Allow-Headers"] = ",".join(COORS_ALLOWED_HEADERS)
response["Access-Control-Expose-Headers"] = ",".join(COORS_EXPOSE_HEADERS)
if COORS_ALLOWED_CREDENTIALS: if COORS_ALLOWED_CREDENTIALS:
response['Access-Control-Allow-Credentials'] = 'true' response["Access-Control-Allow-Credentials"] = 'true'
def process_request(self, request): def process_request(self, request):
if 'HTTP_ACCESS_CONTROL_REQUEST_METHOD' in request.META: if 'HTTP_ACCESS_CONTROL_REQUEST_METHOD' in request.META: