Created
March 23, 2015 20:40
-
-
Save criloz/743898ed5184ad7b9fd2 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
class Response(dict): | |
"""An object more like email.Message than httplib.HTTPResponse.""" | |
"""Is this response from our local cache""" | |
fromcache = False | |
"""HTTP protocol version used by server. 10 for HTTP/1.0, 11 for HTTP/1.1. """ | |
version = 11 | |
"Status code returned by server. " | |
status = 200 | |
"""Reason phrase returned by server.""" | |
reason = "Ok" | |
previous = None | |
def __init__(self, response): | |
for key, value in response.headers.items(): | |
self[key.lower()] = value | |
self.status = response.status_code | |
self['status'] = str(self.status) | |
self.reason = response.reason | |
def __getattr__(self, name): | |
if name == 'dict': | |
return self | |
else: | |
raise AttributeError, name | |
class Http(object): | |
def __init__(self): | |
self._resquest = Session() | |
self._resquest.mount('http://', adapters.HTTPAdapter(pool_connections=20, pool_maxsize=20)) | |
self._resquest.mount('https://', adapters.HTTPAdapter(pool_connections=20, pool_maxsize=20)) | |
def request(self, uri, method="GET", body=None, headers=None, redirections=DEFAULT_MAX_REDIRECTS, connection_type=None): | |
res = self._resquest.request(method, uri, data=body, headers=headers) | |
r = Response(res) | |
return r, res.content | |
class httplib2(object): | |
@staticmethod | |
def Http(): | |
return Http() |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment