Go

Thinwrap publishes three Go modules, served straight from their git tags by the public module proxy. The claims below hold for Go only — they're the developer-honest version of the umbrella "zero deps, BYO HTTP" pitch, narrowed to what's true on net/http.

Go constraints

Runtime dependencies
Zero runtime dependencies
BYO HTTP client
injectable *http.Client via the WithHTTPClient option
Provenance
Go module checksum database (sum.golang.org)
Minimum runtime
Go 1.18+
  • Truly zero dependencies — the standard library net/http is the only HTTP surface, and AWS SigV4 (Bedrock) / JWT signing (FCM, APNs) are hand-rolled on crypto/*.
  • Distributed as a Go module with no build step or codegen: the git tag IS the release. The public module proxy serves it directly and integrity is verified through the Go checksum database (sum.golang.org) and your go.sum — there is no separately signed release artifact, and none is needed for `go get`.
  • The default *http.Client never follows redirects — a 3xx surfaces as an error rather than silently re-sending auth headers to another host.

Go packages

Baseline-coverage discipline

The unified facade surface includes only features that ≥90% of providers natively support. Sub-baseline fields stay accessible via thePassthrough escape hatch (deep-merged into the request body; consumer values win). Cross-language parity with the TypeScript and PHP packages is tracked as a design goal — not a hard release gate — so a connector can land in one language ahead of the others.

Errors are values: every failure is a *ConnectorError, reachable with errors.As, carrying a typedProviderCode. Because the wrapper holds no state, retry strategy, token caching, and connection lifecycle live with the consumer — inject any client that satisfiesinterface{ Do(*http.Request) (*http.Response, error) }via WithHTTPClient. The wrapper performs no automatic retry; the raw Retry-After header rides inConnectorError.Cause and its parsed seconds are woven intoProviderMessage. There is no top-levelRetryAfterSeconds field — by design.