atproto utils for zig zat.dev
atproto sdk zig

handle_resolver: propagate error.Canceled and OutOfMemory from fetches master

resolveHttp and resolveDns renamed every transport error to HttpResolutionFailed / DnsResolutionFailed, and resolve() falls back to resolveDns on anything but UnsafeIdentityHost. A cancel that landed in the well-known fetch was therefore consumed and answered with a full DNS-over-HTTPS request, and one that landed in resolveDns surfaced as a resolution failure. std.Io delivers a cancel request once, so the caller never saw it. OutOfMemory was renamed the same way. Both now pass through, and resolve() no longer falls back to DNS on them. All other errors keep their existing mapping. The regression test covers resolveDns against a loopback DoH endpoint. The well-known fetch cannot be pointed at loopback (the identity host check rejects it), so that arm is untested. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>


+65 -3
1 changed file