diff --git a/httpbin/helpers.py b/httpbin/helpers.py index fc899e7..86a3676 100644 --- a/httpbin/helpers.py +++ b/httpbin/helpers.py @@ -6,7 +6,7 @@ httpbin.helpers This module provides helper functions for httpbin. """ - +import json from hashlib import md5 from werkzeug.http import parse_authorization_header @@ -72,6 +72,11 @@ def get_headers(hide_env=True): return CaseInsensitiveDict(headers.items()) +def get_url(): + scheme = request.headers.get("X-Forwarded-Proto", "http") + return request.url.replace("http", scheme) + + def get_dict(*keys, **extras): """Returns request dict of given keys.""" @@ -95,13 +100,13 @@ def get_dict(*keys, **extras): form = nonflat_dict try: - json = json.loads(request.data) + json_input = json.loads(request.data) except ValueError: - json = None + json_input = None d = dict( - url=request.url, + url=get_url(), args=request.args, form=form, data=data, diff --git a/run_httpbin.py b/run_httpbin.py index 1b44eea..282006d 100755 --- a/run_httpbin.py +++ b/run_httpbin.py @@ -13,4 +13,4 @@ except (IndexError, ValueError): print 'Starting httpbin on port {0}'.format(port) http_server = WSGIServer(('', port), app) -http_server.serve_forever() \ No newline at end of file +http_server.serve_forever()