diff options
author | Rob Austein <sra@hactrn.net> | 2014-09-16 04:53:49 +0000 |
---|---|---|
committer | Rob Austein <sra@hactrn.net> | 2014-09-16 04:53:49 +0000 |
commit | 238c447318617fc42b38a0396ef9b05022ccfd90 (patch) | |
tree | 350bd25e9ea892fa79bb5bdec0f41158fa5ba8f3 /rpki/gui/decorators.py | |
parent | 558a82a19f6771ea264a9d7c56ec089b31643af1 (diff) |
Add support for running GUI under yamltest.
Result sometimes hangs with browser waiting for response, not sure
why, might be ancient abandoned bug #116.
Logging control is a bit screwy, everything uses Python's logging
library but we have multiple ways of configuring it.
svn path=/branches/tk713/; revision=5954
Diffstat (limited to 'rpki/gui/decorators.py')
-rw-r--r-- | rpki/gui/decorators.py | 15 |
1 files changed, 11 insertions, 4 deletions
diff --git a/rpki/gui/decorators.py b/rpki/gui/decorators.py index 69d20c46..75efeae0 100644 --- a/rpki/gui/decorators.py +++ b/rpki/gui/decorators.py @@ -15,15 +15,22 @@ __version__ = '$Id$' from django import http +from os import getenv -def tls_required(f): - """Decorator which returns a 500 error if the connection is not secured - with TLS (https). +# Don't set this in production, ever. Really. You have been warned. +# +_allow_plain_http_for_testing = getenv("ALLOW_PLAIN_HTTP_FOR_TESTING") == "I solemnly swear that I am not running this in production" + +def tls_required(f): + """ + Decorator which returns a 500 error if the connection is not + secured with TLS (https). """ + def _tls_required(request, *args, **kwargs): - if not request.is_secure(): + if not request.is_secure() and not _allow_plain_http_for_testing: return http.HttpResponseServerError( 'This resource may only be accessed securely via https', content_type='text/plain') |