コード例 #1
0
ファイル: __init__.py プロジェクト: jalavik/invenio-ext
def login_redirect(referer=None):
    """Redirect to url after login."""
    if referer is None:
        referer = request.values.get('referer')
    if referer:
        from six.moves.urllib.parse import urlparse
        # we should not redirect to these URLs after login
        blacklist = [url_for('webaccount.register'),
                     url_for('webaccount.logout'),
                     url_for('webaccount.login'),
                     url_for('webaccount.lost')]
        if not urlparse(referer).path in blacklist:
            # Change HTTP method to https if needed.
            from invenio_utils.url import rewrite_to_secure_url
            referer = rewrite_to_secure_url(referer)
            return redirect(referer)
    return redirect('/')
コード例 #2
0
ファイル: wrappers.py プロジェクト: jirikuncar/invenio-ext
    def redirect_to_ssl(self):
        """Redirect incoming requests to HTTPS."""
        # Should we redirect?
        criteria = [
            request.is_secure,
            request.headers.get('X-Forwarded-Proto', 'http') == 'https',
            'no-https-redirect' in self.app.config.get('CFG_DEVEL_TOOLS', []),
        ]

        if self.criteria_callback is not None:
            criteria += [self.criteria_callback()]

        if not any(criteria):
            if request.url.startswith('http://'):
                url = rewrite_to_secure_url(request.url)

                code = 302
                if self.permanent:
                    code = 301
                r = redirect(url, code=code)

                return r
コード例 #3
0
ファイル: wrappers.py プロジェクト: pombredanne/invenio-ext
    def redirect_to_ssl(self):
        """Redirect incoming requests to HTTPS."""
        # Should we redirect?
        criteria = [
            request.is_secure,
            request.headers.get('X-Forwarded-Proto', 'http') == 'https',
            'no-https-redirect' in self.app.config.get('CFG_DEVEL_TOOLS', []),
        ]

        if self.criteria_callback is not None:
            criteria += [self.criteria_callback()]

        if not any(criteria):
            if request.url.startswith('http://'):
                from invenio_utils.url import rewrite_to_secure_url
                url = rewrite_to_secure_url(request.url)

                code = 302
                if self.permanent:
                    code = 301
                r = redirect(url, code=code)

                return r
コード例 #4
0
ファイル: wrappers.py プロジェクト: jalavik/invenio-ext
    def redirect_to_ssl(self):
        """Redirect incoming requests to HTTPS."""
        # Should we redirect?
        criteria = [
            request.is_secure,
            request.headers.get("X-Forwarded-Proto", "http") == "https",
            "no-https-redirect" in self.app.config.get("CFG_DEVEL_TOOLS", []),
        ]

        if self.criteria_callback is not None:
            criteria += [self.criteria_callback()]

        if not any(criteria):
            if request.url.startswith("http://"):
                from invenio_utils.url import rewrite_to_secure_url

                url = rewrite_to_secure_url(request.url)

                code = 302
                if self.permanent:
                    code = 301
                r = redirect(url, code=code)

                return r