Files
deb-python-requests-unixsocket/requests_unixsocket/__init__.py
Marc Abramowitz e6e8040e8b Monkeypatch requests.request
Before we were only monkeypatching `requests.get`.
We should also monkeypatch `requests.request`
(which is what httpie is using)
2015-02-04 09:21:05 -08:00

36 lines
1007 B
Python

import requests
import sys
from .adapters import UnixAdapter
__all__ = ['monkeypatch', 'Session']
DEFAULT_SCHEME = 'http+unix://'
class Session(requests.Session):
def __init__(self, url_scheme=DEFAULT_SCHEME, *args, **kwargs):
super(Session, self).__init__(*args, **kwargs)
self.mount(url_scheme, UnixAdapter())
class monkeypatch(object):
def __init__(self, url_scheme=DEFAULT_SCHEME):
self.session = Session()
requests = self._get_global_requests_module()
self.orig_requests_get = requests.get
requests.get = self.session.get
self.orig_requests_request = requests.request
requests.request = self.session.request
def _get_global_requests_module(self):
return sys.modules['requests']
def __enter__(self):
return self
def __exit__(self, *args):
requests = self._get_global_requests_module()
requests.get = self.orig_requests_get
requests.request = self.orig_requests_request