Archived
Refactor UI assets and harden quality checks
This commit is contained in:
1 parent
23ab466c52
commit
4ecc8eb874
62 files changed
+3314
-3206
No files matched your search
@@ -78,15 +78,23 @@ def _cloudflare_request(
|
||||
request = urllib.request.Request(url, data=body, method=method)
|
||||
request.add_header("Authorization", f"Bearer {settings.cloudflare_api_token}")
|
||||
request.add_header("Content-Type", "application/json")
|
||||
parsed = _read_cloudflare_json(request)
|
||||
_raise_for_cloudflare_error(parsed)
|
||||
return parsed
|
||||
|
||||
|
||||
def _read_cloudflare_json(request: urllib.request.Request) -> dict[str, Any]:
|
||||
try:
|
||||
with urllib.request.urlopen(request, timeout=10) as response:
|
||||
parsed = json.loads(response.read().decode("utf-8"))
|
||||
return cast(dict[str, Any], json.loads(response.read().decode("utf-8")))
|
||||
except urllib.error.HTTPError as exc:
|
||||
raise DnsProviderError(f"Cloudflare API returned HTTP {exc.code}") from exc
|
||||
except urllib.error.URLError as exc:
|
||||
raise DnsProviderError("Cloudflare API request failed") from exc
|
||||
except json.JSONDecodeError as exc:
|
||||
raise DnsProviderError("Cloudflare API returned invalid JSON") from exc
|
||||
|
||||
|
||||
def _raise_for_cloudflare_error(parsed: dict[str, Any]) -> None:
|
||||
if not parsed.get("success", False):
|
||||
raise DnsProviderError("Cloudflare API returned an unsuccessful response")
|
||||
return parsed
|
||||
Reference in new issue
Block a user