aboutsummaryrefslogtreecommitdiff
path: root/rpki/gui/decorators.py
diff options
context:
space:
mode:
authorRob Austein <sra@hactrn.net>2014-09-16 04:53:49 +0000
committerRob Austein <sra@hactrn.net>2014-09-16 04:53:49 +0000
commit238c447318617fc42b38a0396ef9b05022ccfd90 (patch)
tree350bd25e9ea892fa79bb5bdec0f41158fa5ba8f3 /rpki/gui/decorators.py
parent558a82a19f6771ea264a9d7c56ec089b31643af1 (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.py15
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')