|
@@ -1,4 +1,5 @@
|
|
from django.conf import settings
|
|
from django.conf import settings
|
|
|
|
+from misago.core.embercli import is_ember_cli_request
|
|
|
|
|
|
|
|
|
|
class EmberCLIRedirectsMiddleware(object):
|
|
class EmberCLIRedirectsMiddleware(object):
|
|
@@ -15,21 +16,12 @@ class EmberCLIRedirectsMiddleware(object):
|
|
header that matches one in MISAGO_EMBER_CLI_ORIGIN setting.
|
|
header that matches one in MISAGO_EMBER_CLI_ORIGIN setting.
|
|
"""
|
|
"""
|
|
def process_response(self, request, response):
|
|
def process_response(self, request, response):
|
|
- if settings.DEBUG and settings.MISAGO_EMBER_CLI_ORIGIN:
|
|
|
|
- rewrite_ember_cli_redirect_url = (
|
|
|
|
- response.status_code in (301, 302)
|
|
|
|
- and request.META.get('HTTP_ORIGIN')
|
|
|
|
- and self.is_ember_cli_request(request)
|
|
|
|
- )
|
|
|
|
-
|
|
|
|
- if rewrite_ember_cli_redirect_url:
|
|
|
|
- return self.rewrite_http_redirect_url(response)
|
|
|
|
|
|
+ if (is_ember_cli_request(request) and
|
|
|
|
+ response.status_code in (301, 302)):
|
|
|
|
+ return self.rewrite_http_redirect_url(response)
|
|
|
|
|
|
return response
|
|
return response
|
|
|
|
|
|
- def is_ember_cli_request(self, request):
|
|
|
|
- http_origin = request.META.get('HTTP_ORIGIN', '')
|
|
|
|
- return http_origin.endswith(settings.MISAGO_EMBER_CLI_ORIGIN)
|
|
|
|
|
|
|
|
def rewrite_http_redirect_url(self, response):
|
|
def rewrite_http_redirect_url(self, response):
|
|
final_location = settings.MISAGO_EMBER_CLI_ORIGIN, response['location']
|
|
final_location = settings.MISAGO_EMBER_CLI_ORIGIN, response['location']
|