From 85b8b2bd446ecfc7cee8b6e2f781f5f6f6e510a3 Mon Sep 17 00:00:00 2001 From: Kenneth Reitz Date: Sat, 14 May 2011 22:02:07 -0400 Subject: [PATCH] CaseInsensitiveDict for Headers --- requests/models.py | 13 +++++-------- 1 file changed, 5 insertions(+), 8 deletions(-) diff --git a/requests/models.py b/requests/models.py index 65696bc..9707fc4 100644 --- a/requests/models.py +++ b/requests/models.py @@ -16,7 +16,7 @@ from urllib2 import HTTPError from urlparse import urlparse from .monkeys import Request as _Request, HTTPBasicAuthHandler, HTTPDigestAuthHandler - +from .structures import CaseInsensitiveDict from .packages.poster.encode import multipart_encode from .packages.poster.streaminghttp import register_openers, get_handlers @@ -120,19 +120,16 @@ class Request(object): def _build_response(self, resp): """Build internal Response object from given response.""" - if isinstance(resp, HTTPError): - # print resp.__dict__ - pass self.response.status_code = getattr(resp, 'code', None) try: - self.response.headers = getattr(resp.info(), 'dict', None) + self.response.headers = CaseInsensitiveDict(getattr(resp.info(), 'dict', None)) self.response.content = resp.read() - except AttributeError, why: + except AttributeError: pass - if self.response.headers.get('content-encoding', None) == 'gzip': + if self.response.headers['content-encoding'] == 'gzip': try: self.response.content = zlib.decompress(self.response.content, 16+zlib.MAX_WBITS) except zlib.error: @@ -225,7 +222,7 @@ class Response(object): def __init__(self): self.content = None self.status_code = None - self.headers = dict() + self.headers = CaseInsensitiveDict() self.url = None self.ok = False self.error = None -- 2.34.1