diff --git a/httpbin/core.py b/httpbin/core.py index cf3fd6c..9438cda 100644 --- a/httpbin/core.py +++ b/httpbin/core.py @@ -312,10 +312,10 @@ def view_status_code(codes): def response_headers(): """Returns a set of response headers from the query string """ headers = MultiDict(request.args.items(multi=True)) - response = jsonify(headers.lists()) + response = jsonify(list(headers.lists())) while True: - content_len_shown = response.headers['Content-Length'] + original_data = response.data d = {} for key in response.headers.keys(): value = response.headers.get_all(key) @@ -325,7 +325,8 @@ def response_headers(): response = jsonify(d) for key, value in headers.items(multi=True): response.headers.add(key, value) - if response.headers['Content-Length'] == content_len_shown: + response_has_changed = response.data != original_data + if not response_has_changed: break return response