From: Kenneth Reitz Date: Sun, 28 Aug 2011 06:40:19 +0000 (-0400) Subject: header expanding X-Git-Tag: v0.6.4^2~5^2~5^2~11 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=b97b4439c0ab264d36a2fbc1af07c0631bca2fbe;p=services%2Fpython-requests.git header expanding --- diff --git a/requests/utils.py b/requests/utils.py index 2b55a16..8938757 100644 --- a/requests/utils.py +++ b/requests/utils.py @@ -15,6 +15,36 @@ import re import zlib +def header_expand(header_dict): + """Returns an HTTP Header value string from a dictionary. + + Example expansion:: + + # Accept: text/x-dvi; q=.8; mxb=100000; mxt=5.0, text/x-c + {'text/x-dvi': {'q': '.8', 'mxb': '100000', 'mxt': '5.0'}, 'text/x-c': {}} + """ + + collector = [] + + for i, (value, params) in enumerate(header_dict.items()): + _params = [] + + for p_k, p_v in params.items(): + + _params.append('{k}={v}'.format(k=p_k, v=p_v)) + + if len(params): + collector.append(value) + collector.append('; ') + collector.append('; '.join(_params)) + + if not len(header_dict) == i+1: + collector.append(', ') + + return ''.join(collector) + + + def dict_from_cookiejar(cj): """Returns a key/value dictionary from a CookieJar.