fix(version): add timeout and check HTTP errors (#2886)

This commit is contained in:
Sergio Garcia
2023-10-02 14:44:16 +02:00
committed by GitHub
parent 583194085c
commit 64f06b11b8
2 changed files with 5 additions and 6 deletions

View File

@@ -64,17 +64,16 @@ def check_current_version():
try: try:
prowler_version_string = f"Prowler {prowler_version}" prowler_version_string = f"Prowler {prowler_version}"
release_response = requests.get( release_response = requests.get(
"https://api.github.com/repos/prowler-cloud/prowler/tags" "https://api.github.com/repos/prowler-cloud/prowler/tags", timeout=1
) )
latest_version = release_response.json()[0]["name"] latest_version = release_response.json()[0]["name"]
if latest_version != prowler_version: if latest_version != prowler_version:
return f"{prowler_version_string} (latest is {latest_version}, upgrade for the latest features)" return f"{prowler_version_string} (latest is {latest_version}, upgrade for the latest features)"
else: else:
return f"{prowler_version_string} (it is the latest version, yay!)" return f"{prowler_version_string} (it is the latest version, yay!)"
except Exception as error: except requests.RequestException:
logger.error( return f"{prowler_version_string}"
f"{error.__class__.__name__}[{error.__traceback__.tb_lineno}] -- {error}" except Exception:
)
return f"{prowler_version_string}" return f"{prowler_version_string}"

View File

@@ -17,7 +17,7 @@ MOCK_PROWLER_VERSION = "3.3.0"
MOCK_OLD_PROWLER_VERSION = "0.0.0" MOCK_OLD_PROWLER_VERSION = "0.0.0"
def mock_prowler_get_latest_release(_): def mock_prowler_get_latest_release(_, **kwargs):
"""Mock requests.get() to get the Prowler latest release""" """Mock requests.get() to get the Prowler latest release"""
response = Response() response = Response()
response._content = b'[{"name":"3.3.0"}]' response._content = b'[{"name":"3.3.0"}]'