From c5878d070f01483af128caed24b226a5d427077c Mon Sep 17 00:00:00 2001 From: Chuddah Date: Sat, 22 Feb 2020 20:03:12 +0000 Subject: [PATCH] Refactored connectionmanager to use newer explicit request interface. --- jellyfin_kodi/jellyfin/connection_manager.py | 16 +++++++-------- jellyfin_kodi/jellyfin/http.py | 21 +++++++++++++++----- 2 files changed, 24 insertions(+), 13 deletions(-) diff --git a/jellyfin_kodi/jellyfin/connection_manager.py b/jellyfin_kodi/jellyfin/connection_manager.py index 151aa0ba..e78a6cb2 100644 --- a/jellyfin_kodi/jellyfin/connection_manager.py +++ b/jellyfin_kodi/jellyfin/connection_manager.py @@ -191,24 +191,24 @@ class ConnectionManager(object): 'url': url, 'headers': headers, } - if timeout is not None: - data['timeout'] = timeout if verify is not None: data['verify'] = verify if retry is not None: data['retry'] = retry if json is not None: data['json'] = json - return self._request_url(data, data_type, timeout, additional_headers=additional_headers) - def _request_url(self, data, data_type=None, timeout=None, additional_headers=True): - data['timeout'] = timeout or self.timeout + + timeput = timeout or self.timeout + data['timeout'] = timeout if additional_headers: - headers = self._get_headers(data_type) - data.setdefault('headers', {}).update(headers) + extra_headers = self._get_headers(data_type) + data['headers'].update(extra_headers) + headers = data['headers'] try: - return self.http.request(data) + return self.http.REQUEST(url, type, json=json, headers=headers, \ + verify=verify, timeout=timeout, retry=retry) except Exception as error: LOG.exception(error) raise diff --git a/jellyfin_kodi/jellyfin/http.py b/jellyfin_kodi/jellyfin/http.py index 937c9f8a..45d6e833 100644 --- a/jellyfin_kodi/jellyfin/http.py +++ b/jellyfin_kodi/jellyfin/http.py @@ -64,13 +64,24 @@ class HTTP(object): return string - def REQUEST(self, url, type, params=None, json=None, session=None): - request = {'url': url, 'type': type} + def REQUEST(self, url, type, params=None, json=None, session=None, \ + headers=None, verify=None, timeout=None, retry=None): + data = {'url': url, 'type': type} if params is not None: - request['params'] = params + data['params'] = params if json is not None: - request['json'] = json - return self.request(request, session) + data['json'] = json + if headers is not None: + data['headers'] = headers + if timeout is not None: + data['timeout'] = timeout + if verify is not None: + data['verify'] = verify + if retry is not None: + data['retry'] = retry + if json is not None: + data['json'] = json + return self.request(data, session) def get_handler_url(self, handler):