From e3e2cff693d50629cf0181629ae8bac727144025 Mon Sep 17 00:00:00 2001 From: lullah Date: Thu, 16 Jul 2026 11:00:28 +0100 Subject: [PATCH] auto retry on 500 failure #132 --- arango_cve_processor/tools/retriever.py | 10 ++++++++++ pyproject.toml | 2 +- 2 files changed, 11 insertions(+), 1 deletion(-) diff --git a/arango_cve_processor/tools/retriever.py b/arango_cve_processor/tools/retriever.py index 373ad5a..b4c2c6d 100644 --- a/arango_cve_processor/tools/retriever.py +++ b/arango_cve_processor/tools/retriever.py @@ -2,6 +2,8 @@ from urllib.parse import urljoin import os import requests +from requests.adapters import HTTPAdapter +from urllib3.util import Retry class STIXObjectRetriever: @@ -44,6 +46,14 @@ def _retrieve_objects(self, endpoint, key="objects"): "API-KEY": self.api_key, } ) + retries = Retry( + total=3, + backoff_factor=1, + status_forcelist=[500], + allowed_methods=["GET"], + ) + s.mount("https://", HTTPAdapter(max_retries=retries)) + s.mount("http://", HTTPAdapter(max_retries=retries)) data = [] page = 1 logging.info("fetching from: %s", endpoint) diff --git a/pyproject.toml b/pyproject.toml index 6914ba4..4951f94 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -4,7 +4,7 @@ build-backend = "hatchling.build" [project] name = "arango_cve_processor" -version = "1.4.12" +version = "1.4.14" authors = [ { name = "dogesec" } ]