Req-based transport with bounded, idempotency-aware retries and SSE support.
Summary
Types
@type metadata() :: %{ status: non_neg_integer() | nil, headers: term(), request_id: String.t() | nil }
@type t() :: %ApolloSignal.Transport{ base_url: String.t(), default_headers: map(), max_retries: non_neg_integer(), req: term(), retry_unsafe_requests: boolean(), security_cookies: map(), security_headers: map(), security_query: map(), timeout_ms: pos_integer(), user_agent: String.t() }
Functions
@spec metadata() :: metadata()
@spec metadata(ApolloSignal.Transport.Response.t()) :: metadata()
@spec request(t(), map()) :: {:ok, ApolloSignal.Transport.Response.t()} | {:error, ApolloSignal.Errors.t()}
@spec stream(t(), map()) :: {:ok, ApolloSignal.Transport.SSEStream.t(term())} | {:error, ApolloSignal.Errors.t()}