Exemplo n.º 1
0
def login(request):
    if request.method == 'POST':
        redirect_to = request.POST.get('redirect_to')
        if redirect_to:
            is_redirect_safe = is_safe_url(
                url=redirect_to, host=request.get_host())

            if not is_redirect_safe and is_ember_cli_request(request):
                is_redirect_safe = is_safe_url(
                    url=redirect_to, host=get_embercli_host())

            if is_redirect_safe:
                redirect_to_path = urlparse(redirect_to).path
                return redirect(redirect_to_path)

    return redirect(settings.LOGIN_REDIRECT_URL)
Exemplo n.º 2
0
def login(request):
    if request.method == 'POST':
        redirect_to = request.POST.get('redirect_to')
        if redirect_to:
            is_redirect_safe = is_safe_url(url=redirect_to,
                                           host=request.get_host())

            if not is_redirect_safe and is_ember_cli_request(request):
                is_redirect_safe = is_safe_url(url=redirect_to,
                                               host=get_embercli_host())

            if is_redirect_safe:
                redirect_to_path = urlparse(redirect_to).path
                return redirect(redirect_to_path)

    return redirect(settings.LOGIN_REDIRECT_URL)
Exemplo n.º 3
0
def site_address(request):
    if request.is_secure():
        site_protocol = 'https'
        address_template = 'https://%s'
    else:
        site_protocol = 'http'
        address_template = 'http://%s'

    if is_ember_cli_request(request):
        host = get_embercli_host()
    else:
        host = request.get_host()

    return {
        'SITE_PROTOCOL': site_protocol,
        'SITE_HOST': host,
        'SITE_ADDRESS': address_template % host
    }
Exemplo n.º 4
0
    def test_is_ember_cli_request(self):
        """is_ember_cli_request test works"""
        with self.settings(DEBUG=True):
            valid_request = MockRequest(settings.MISAGO_EMBER_CLI_ORIGIN)
            self.assertTrue(is_ember_cli_request(valid_request))

            valid_origin = '%s/page.html' % settings.MISAGO_EMBER_CLI_ORIGIN
            valid_request = MockRequest(valid_origin)
            self.assertTrue(is_ember_cli_request(valid_request))

            invalid_request = MockRequest('http://somewhere.com/page.html')
            self.assertFalse(is_ember_cli_request(invalid_request))

        with self.settings(DEBUG=False):
            valid_request = MockRequest(settings.MISAGO_EMBER_CLI_ORIGIN)
            self.assertFalse(is_ember_cli_request(valid_request))

            valid_origin = '%s/page.html' % settings.MISAGO_EMBER_CLI_ORIGIN
            valid_request = MockRequest(valid_origin)
            self.assertFalse(is_ember_cli_request(valid_request))

            invalid_request = MockRequest('http://somewhere.com/page.html')
            self.assertFalse(is_ember_cli_request(invalid_request))
Exemplo n.º 5
0
    def process_response(self, request, response):
        if (is_ember_cli_request(request) and
                response.status_code in (301, 302)):
            return self.rewrite_http_redirect_url(response)

        return response
Exemplo n.º 6
0
    def process_response(self, request, response):
        if (is_ember_cli_request(request)
                and response.status_code in (301, 302)):
            return self.rewrite_http_redirect_url(response)

        return response