diff --git a/urequests/urequests.py b/urequests/urequests.py index acb220e85..7dfbb9832 100644 --- a/urequests/urequests.py +++ b/urequests/urequests.py @@ -32,7 +32,7 @@ def json(self): return ujson.loads(self.content) -def request(method, url, data=None, json=None, headers={}, stream=None): +def request(method, url, data=None, json=None, headers={}, stream=None, timeout=None): try: proto, dummy, host, path = url.split("/", 3) except ValueError: @@ -54,6 +54,10 @@ def request(method, url, data=None, json=None, headers={}, stream=None): ai = ai[0] s = usocket.socket(ai[0], ai[1], ai[2]) + + if timeout is not None: + assert hasattr(usocket.socket, 'settimeout'), 'Socket does not support timeout' + s.settimeout(timeout) try: s.connect(ai[-1]) if proto == "https:":