(url: str, domain: str)
| 218 | |
| 219 | |
| 220 | def _get_json(url: str, domain: str) -> dict | None: |
| 221 | _rate_limit(domain) |
| 222 | req = urllib.request.Request( |
| 223 | url, headers={"User-Agent": "sbom-license-resolver/1.0"} |
| 224 | ) |
| 225 | try: |
| 226 | with urllib.request.urlopen(req, timeout=10) as resp: |
| 227 | return json.loads(resp.read()) |
| 228 | except (urllib.error.HTTPError, urllib.error.URLError, TimeoutError): |
| 229 | return None |
| 230 | |
| 231 | |
| 232 | # --------------------------------------------------------------------------- |
no test coverage detected