Production HTTP client for the Aurinko API.
Middleware stack applied on every request:
- Rate limiting — Token-bucket per-account + global RPS (
Aurinko.RateLimiter) - Circuit breaker — Per-path circuit breaker prevents cascading failures (
Aurinko.CircuitBreaker) - Caching — ETS TTL cache for safe GET responses (
Aurinko.Cache) - Retry — Exponential backoff + jitter for 429 / 5xx
- Telemetry — Structured events for every request/response/retry
- Structured errors — All failures surface as
{:error, %Aurinko.Error{}}
Summary
Functions
Returns a specification to start this module under a supervisor.
Types
@type method() :: :get | :post | :patch | :put | :delete
@type result() :: {:ok, map() | list() | binary()} | {:error, Aurinko.Error.t()}