Simplify request functions

This commit is contained in:
Markus Unterwaditzer 2014-12-23 22:39:56 +01:00
parent 3258a59e99
commit b04638246a
2 changed files with 10 additions and 9 deletions

View file

@ -230,16 +230,17 @@ class DavSession(object):
self.parsed_url = utils.urlparse.urlparse(self.url) self.parsed_url = utils.urlparse.urlparse(self.url)
self._session = None self._session = None
def request(self, method, path, data=None, headers=None, def request(self, method, path, is_subpath=True, **kwargs):
is_subpath=True):
url = self.url url = self.url
if path: if path:
url = utils.urlparse.urljoin(self.url, path) url = utils.urlparse.urljoin(self.url, path)
assert url.startswith(self.url) or not is_subpath assert url.startswith(self.url) or not is_subpath
if self._session is None: if self._session is None:
self._session = requests_session() self._session = requests_session()
return utils.request(method, url, data=data, headers=headers,
session=self._session, **self._settings) more = dict(self._settings)
more.update(kwargs)
return utils.request(method, url, session=self._session, **more)
def get_default_headers(self): def get_default_headers(self):
return { return {

View file

@ -232,8 +232,8 @@ class _FingerprintAdapter(requests.adapters.HTTPAdapter):
assert_fingerprint=self.fingerprint) assert_fingerprint=self.fingerprint)
def request(method, url, data=None, headers=None, auth=None, verify=None, def request(method, url, session=None, latin1_fallback=True,
session=None, latin1_fallback=True, verify_fingerprint=None): verify_fingerprint=None, **kwargs):
''' '''
Wrapper method for requests, to ease logging and mocking. Parameters should Wrapper method for requests, to ease logging and mocking. Parameters should
be the same as for ``requests.request``, except: be the same as for ``requests.request``, except:
@ -262,10 +262,10 @@ def request(method, url, data=None, headers=None, auth=None, verify=None,
func = session.request func = session.request
logger.debug(u'{} {}'.format(method, url)) logger.debug(u'{} {}'.format(method, url))
logger.debug(headers) logger.debug(kwargs.get('headers', {}))
logger.debug(data) logger.debug(kwargs.get('data', None))
logger.debug('Sending request...') logger.debug('Sending request...')
r = func(method, url, data=data, headers=headers, auth=auth, verify=verify) r = func(method, url, **kwargs)
# See https://github.com/kennethreitz/requests/issues/2042 # See https://github.com/kennethreitz/requests/issues/2042
content_type = r.headers.get('Content-Type', '') content_type = r.headers.get('Content-Type', '')