summaryrefslogtreecommitdiff
path: root/main/utils.py
diff options
context:
space:
mode:
authorDan McGee <dan@archlinux.org>2012-09-04 08:53:39 -0500
committerDan McGee <dan@archlinux.org>2012-09-04 08:53:39 -0500
commit5df83a38282d8ddbc653859914eb49cad1c30494 (patch)
tree319b837994eacc7b543712c719c2a26af29bcd6d /main/utils.py
parent79b0ff49bd3319133502243ded4506fc2d56cd9e (diff)
Add a 'format_http_headers' method
This takes a HttpRequest object and grabs the HTTP headers out of it and pretty-prints them in a familiar format. This will come in handy if we want to log these when creating package FlagRequests, releng Tests, etc. in addition to already logging the IP address of the user posting the request. Signed-off-by: Dan McGee <dan@archlinux.org>
Diffstat (limited to 'main/utils.py')
-rw-r--r--main/utils.py10
1 files changed, 10 insertions, 0 deletions
diff --git a/main/utils.py b/main/utils.py
index 0b6849a4..d12e5e1a 100644
--- a/main/utils.py
+++ b/main/utils.py
@@ -53,6 +53,16 @@ def clear_cache_function(func, args, kwargs):
key = cache_function_key(func, args, kwargs)
cache.delete(key)
+
+def format_http_headers(request):
+ headers = sorted((k, v) for k, v in request.META.items()
+ if k.startswith('HTTP_'))
+ data = []
+ for k, v in headers:
+ data.extend([k[5:].replace('_', '-').title(), ': ', v, '\n'])
+ return ''.join(data)
+
+
# utility to make a pair of django choices
make_choice = lambda l: [(str(m), str(m)) for m in l]