diff --git a/vdirsyncer/storage/dav.py b/vdirsyncer/storage/dav.py index 2fec741..3a3fa1d 100644 --- a/vdirsyncer/storage/dav.py +++ b/vdirsyncer/storage/dav.py @@ -230,16 +230,17 @@ class DavSession(object): self.parsed_url = utils.urlparse.urlparse(self.url) self._session = None - def request(self, method, path, data=None, headers=None, - is_subpath=True): + def request(self, method, path, is_subpath=True, **kwargs): url = self.url if path: url = utils.urlparse.urljoin(self.url, path) assert url.startswith(self.url) or not is_subpath if self._session is None: 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): return { diff --git a/vdirsyncer/utils/__init__.py b/vdirsyncer/utils/__init__.py index e616d37..ec00091 100644 --- a/vdirsyncer/utils/__init__.py +++ b/vdirsyncer/utils/__init__.py @@ -232,8 +232,8 @@ class _FingerprintAdapter(requests.adapters.HTTPAdapter): assert_fingerprint=self.fingerprint) -def request(method, url, data=None, headers=None, auth=None, verify=None, - session=None, latin1_fallback=True, verify_fingerprint=None): +def request(method, url, session=None, latin1_fallback=True, + verify_fingerprint=None, **kwargs): ''' Wrapper method for requests, to ease logging and mocking. Parameters should 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 logger.debug(u'{} {}'.format(method, url)) - logger.debug(headers) - logger.debug(data) + logger.debug(kwargs.get('headers', {})) + logger.debug(kwargs.get('data', None)) 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 content_type = r.headers.get('Content-Type', '')