Cache NVD responses with API keys

这个提交包含在:
hao
2026-03-18 19:39:47 -07:00
父节点 94d257177c
当前提交 baf8e8fa64

查看文件

@@ -92,18 +92,15 @@ def _write_cached_payload(params: Dict[str, Any], payload: Dict[str, Any]) -> No
def request_nvd_json(source: Dict[str, Any], headers: Dict[str, Any], params: Dict[str, Any]) -> Dict[str, Any]:
api_key = os.environ.get("NVD_API_KEY")
if not api_key:
cached = _load_cached_payload(params)
if cached is not None:
return cached
cached = _load_cached_payload(params)
if cached is not None:
return cached
response = request_nvd(source, headers, params)
response.raise_for_status()
payload = response.json()
if not isinstance(payload, dict):
raise ValueError("NVD response payload was not an object")
if not api_key:
_write_cached_payload(params, payload)
_write_cached_payload(params, payload)
return payload