Files
flask-sslify/flask_sslify.py
T
Kenneth Reitz e1fe302482 Fixes #1
2012-04-29 16:51:48 -04:00

30 lines
678 B
Python

# -*- coding: utf-8 -*-
from flask import current_app as app
from flask import request, redirect
class SSLify(object):
def __init__(self, app):
if app is not None:
self.app = app
self.init_app(self.app)
else:
self.app = None
def init_app(self, app):
app.before_request(self.redirect)
@staticmethod
def redirect():
criteria = [
request.is_secure,
app.debug,
request.headers.get('X-Forwarded-Proto', 'http') == 'https'
]
if not any(criteria):
url = request.url.replace('http://', 'https://')
return redirect(url)