From: Aleš Mrázek Date: Tue, 20 Feb 2024 17:29:21 +0000 (+0100) Subject: utils/request.py: higher timeout for http request X-Git-Tag: v6.0.7~19^2~1 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=920f487de27deefd3bb6f9228efa391f72ae81e9;p=thirdparty%2Fknot-resolver.git utils/request.py: higher timeout for http request --- diff --git a/manager/knot_resolver_manager/utils/requests.py b/manager/knot_resolver_manager/utils/requests.py index c46ed5dd0..72a4d1faf 100644 --- a/manager/knot_resolver_manager/utils/requests.py +++ b/manager/knot_resolver_manager/utils/requests.py @@ -70,8 +70,9 @@ def request( ) # req.add_header("Authorization", _authorization_header) + timeout_m = 5 # minutes try: - with urlopen(req) as response: + with urlopen(req, timeout=timeout_m * 60) as response: return Response(response.status, response.read().decode("utf8")) except HTTPError as err: return Response(err.code, err.read().decode("utf8")) @@ -83,6 +84,15 @@ def request( else: _print_conn_error(str(err), url, socket_desc.source) sys.exit(1) + except (TimeoutError, socket.timeout): + _print_conn_error( + f"Connection timed out after {timeout_m} minutes." + "\nIt does not mean that the operation necessarily failed." + "\nSee Knot Resolver's log for more information.", + url, + socket_desc.source, + ) + sys.exit(1) # Code heavily inspired by requests-unixsocket