对于我正在创建的Flask应用程序中的某些页面,我有一个HTTPS重定向系统,如下所示。
def requires_https(f, code=302):
"""defaults to temp. redirect (301 is permanent)"""
@wraps(f)
def decorated(*args, **kwargs):
passthrough_conditions = [
request.is_secure,
request.headers.get('X-Forwarded-Proto', 'http') == 'https',
'localhost' in request.url
]
if not any(passthrough_conditions):
if request.url.startswith('http://'):
url = request.url.replace('http://', 'https://')
r = redirect(url, code=code)
return r
return decorated
如果您不请求页面的HTTPS版本,它将重定向到该页面。我想为此服务编写单元测试。我写了一篇确保您重定向到HTTPS版本的邮件(基本上检查301或301)。我想测试一下,如果您正在请求页面的https版本并且已经在https上,它不会重定向您(基本上是200)。如何在单元测试中让Flask发送https请求?
慕的地10843
拉丁的传说
DIEA
相关分类