Cache NVD responses with API keys
这个提交包含在:
@@ -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]:
|
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")
|
cached = _load_cached_payload(params)
|
||||||
if not api_key:
|
if cached is not None:
|
||||||
cached = _load_cached_payload(params)
|
return cached
|
||||||
if cached is not None:
|
|
||||||
return cached
|
|
||||||
response = request_nvd(source, headers, params)
|
response = request_nvd(source, headers, params)
|
||||||
response.raise_for_status()
|
response.raise_for_status()
|
||||||
payload = response.json()
|
payload = response.json()
|
||||||
if not isinstance(payload, dict):
|
if not isinstance(payload, dict):
|
||||||
raise ValueError("NVD response payload was not an object")
|
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
|
return payload
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
在新工单中引用
屏蔽一个用户