rest: cleanup requests
increase timeout to slightly larger than a multiple of 3, which is the default TCP packet retransmission window.
This commit is contained in:
parent
cdf8d12710
commit
ee501f2594
@ -32,39 +32,23 @@ class KlippyRest:
|
|||||||
|
|
||||||
def _do_request(self, method, request_method, data=None, json=None, json_response=True, timeout=3):
|
def _do_request(self, method, request_method, data=None, json=None, json_response=True, timeout=3):
|
||||||
url = f"{self.endpoint}/{method}"
|
url = f"{self.endpoint}/{method}"
|
||||||
headers = {} if self.api_key is False else {"x-api-key": self.api_key}
|
headers = {"x-api-key": self.api_key} if self.api_key else {}
|
||||||
response_data = False
|
logging.debug(f"Sending {request_method} to {url}")
|
||||||
try:
|
try:
|
||||||
callee = getattr(requests, request_method)
|
callee = getattr(requests, request_method)
|
||||||
response = callee(url, json=json, data=data, headers=headers, timeout=timeout)
|
response = callee(url, json=json, data=data, headers=headers, timeout=timeout)
|
||||||
response.raise_for_status()
|
response.raise_for_status()
|
||||||
if json_response:
|
self.status = ''
|
||||||
logging.debug(f"Sending request to {url}")
|
return response.json() if json_response else response.content
|
||||||
response_data = response.json()
|
|
||||||
else:
|
|
||||||
response_data = response.content
|
|
||||||
except requests.exceptions.HTTPError as h:
|
|
||||||
self.status = self.format_status(h)
|
|
||||||
except requests.exceptions.ConnectionError as c:
|
|
||||||
self.status = self.format_status(c)
|
|
||||||
except requests.exceptions.Timeout as t:
|
|
||||||
self.status = self.format_status(t)
|
|
||||||
except requests.exceptions.JSONDecodeError as j:
|
|
||||||
self.status = self.format_status(j)
|
|
||||||
except requests.exceptions.RequestException as r:
|
|
||||||
self.status = self.format_status(r)
|
|
||||||
except Exception as e:
|
except Exception as e:
|
||||||
self.status = self.format_status(e)
|
self.status = self.format_status(e)
|
||||||
if response_data:
|
|
||||||
self.status = ''
|
|
||||||
else:
|
|
||||||
logging.error(self.status.replace('\n', '>>'))
|
logging.error(self.status.replace('\n', '>>'))
|
||||||
return response_data
|
return False
|
||||||
|
|
||||||
def post_request(self, method, data=None, json=None, json_response=True):
|
def post_request(self, method, data=None, json=None, json_response=True):
|
||||||
return self._do_request(method, "post", data, json, json_response)
|
return self._do_request(method, "post", data, json, json_response)
|
||||||
|
|
||||||
def send_request(self, method, json=True, timeout=3):
|
def send_request(self, method, json=True, timeout=4):
|
||||||
return self._do_request(method, "get", json_response=json, timeout=timeout)
|
return self._do_request(method, "get", json_response=json, timeout=timeout)
|
||||||
|
|
||||||
@staticmethod
|
@staticmethod
|
||||||
|
Loading…
x
Reference in New Issue
Block a user