From: Rhys Elsmore Date: Mon, 20 Aug 2012 14:47:19 +0000 (+1000) Subject: Added in a link handler as per issue #711 X-Git-Tag: v0.13.9~11^2^2 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=f3159ed4f619124ab4b47c4e0f06f96daed762ce;p=services%2Fpython-requests.git Added in a link handler as per issue #711 --- diff --git a/requests/utils.py b/requests/utils.py index 9b8ea21..5b8c88d 100644 --- a/requests/utils.py +++ b/requests/utils.py @@ -518,3 +518,36 @@ def default_user_agent(): '%s/%s' % (_implementation, _implementation_version), '%s/%s' % (platform.system(), platform.release()), ]) + +def parse_header_links(value): + """Return a dict of parsed link headers proxies. + + i.e. Link: ; rel=front; type="image/jpeg",; rel=back;type="image/jpeg" + + """ + + links = [] + + replace_chars = " '\"" + + for val in value.split(","): + try: + url, params = val.split(";", 1) + except ValueError: + url, params = val, '' + + link = {} + + link["url"] = url.strip("<> '\"") + + for param in params.split(";"): + try: + key,value = param.split("=") + except ValueError: + break + + link[key.strip(replace_chars)] = value.strip(replace_chars) + + links.append(link) + + return links