1
mirror of https://github.com/home-assistant/core synced 2024-07-12 07:21:24 +02:00

Add timeouts to HTTP requests

This commit is contained in:
Paulus Schoutsen 2014-06-12 23:09:56 -07:00
parent 00f0890021
commit 2eebe7d91e
3 changed files with 9 additions and 4 deletions

View File

@ -489,7 +489,7 @@ class LuciDeviceScanner(object):
""" Perform one JSON RPC operation. """
data = json.dumps({'method': method, 'params': args})
try:
res = requests.post(url, data=data, **kwargs)
res = requests.post(url, data=data, timeout=5, **kwargs)
except requests.exceptions.Timeout:
self.logger.exception("Connection to the router timed out")
return

View File

@ -60,7 +60,7 @@ def setup(hass, download_path):
final_path = None
req = requests.get(url, stream=True)
req = requests.get(url, stream=True, timeout=10)
if req.status_code == 200:
filename = None

View File

@ -74,14 +74,19 @@ class API(object):
try:
if method == METHOD_GET:
return requests.get(url, params=data)
return requests.get(url, params=data, timeout=5)
else:
return requests.request(method, url, data=data)
return requests.request(method, url, data=data, timeout=5)
except requests.exceptions.ConnectionError:
logging.getLogger(__name__).exception("Error connecting to server")
raise ha.HomeAssistantError("Error connecting to server")
except requests.exceptions.Timeout:
error = "Timeout when talking to {}".format(self.host)
logging.getLogger(__name__).exception(error)
raise ha.HomeAssistantError(error)
class HomeAssistant(ha.HomeAssistant):
""" Home Assistant that forwards work. """