From: Ian Cordasco Date: Fri, 14 Feb 2014 22:15:21 +0000 (-0600) Subject: Do not set headers with None value X-Git-Tag: v2.3.0~6^2~5^2 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=d2f647cee45fd05cc1977cc3faf4b095b5047b29;p=services%2Fpython-requests.git Do not set headers with None value - Regardless of whether they are on the session or not - Fixes #1920 --- diff --git a/requests/sessions.py b/requests/sessions.py index a023e4e..c06fbcb 100644 --- a/requests/sessions.py +++ b/requests/sessions.py @@ -59,6 +59,8 @@ def merge_setting(request_setting, session_setting, dict_class=OrderedDict): if v is None: del merged_setting[k] + merged_setting = dict((k, v) for (k, v) in merged_setting.items() if v is not None) + return merged_setting diff --git a/test_requests.py b/test_requests.py index 3d7cdaa..998f17f 100755 --- a/test_requests.py +++ b/test_requests.py @@ -211,6 +211,14 @@ class RequestsTestCase(unittest.TestCase): req_urls = [r.request.url for r in resp.history] assert urls == req_urls + def test_headers_on_session_with_None_are_not_sent(self): + """Do not send headers in Session.headers with None values.""" + ses = requests.Session() + ses.headers['Accept-Encoding'] = None + req = requests.Request('GET', 'http://httpbin.org/get') + prep = ses.prepare_request(req) + assert 'Accept-Encoding' not in prep.headers + def test_user_agent_transfers(self): heads = {