Full response envelope for generated operations.
By default generated calls return just the decoded value
({:ok, model}). Passing response: :full in an operation's opts
returns {:ok, %ExDaytona.Response{}} instead, preserving the response
metadata that is otherwise discarded:
{:ok, %ExDaytona.Response{data: sandbox, request_id: id, rate_limit: rl}} =
ExDaytona.Api.Sandbox.get_sandbox(conn, "sb-1", response: :full)data— the decoded value the default mode would have returnedstatus— HTTP statusheaders— response headers, names lower-cased, order preservedrequest_id— the provider's request/correlation id, when sentrate_limit—%{limit, remaining, reset}(integers,nilwhen the provider omitted a part)retry_after— parsedRetry-Afterin seconds (integer and HTTP-date forms), when presentretry_count— transport-level retries the SDK performed for this call (0 when it succeeded first try)
Declared error models are wrapped the same way, so error metadata is
never lost. The facade's ExDaytona.Error carries the same fields.
Summary
Functions
Build a response envelope from a Tesla.Env and the decoded data.
The first value of name (case-insensitive) from a header list or a
%ExDaytona.Response{}.
All values of name (case-insensitive).
Lower-case header names, preserving order and unknown headers.
Parse a Retry-After header value: integer seconds, or an HTTP-date
(delta from now, floored at 0). Returns nil for absent/invalid
values.
Types
@type rate_limit() :: %{ limit: non_neg_integer() | nil, remaining: non_neg_integer() | nil, reset: non_neg_integer() | nil }
@type t() :: %ExDaytona.Response{ data: term(), headers: [{binary(), binary()}], rate_limit: rate_limit() | nil, request_id: binary() | nil, retry_after: non_neg_integer() | nil, retry_count: non_neg_integer(), status: non_neg_integer() }
Functions
@spec from_env(Tesla.Env.t(), term()) :: t()
Build a response envelope from a Tesla.Env and the decoded data.
The first value of name (case-insensitive) from a header list or a
%ExDaytona.Response{}.
All values of name (case-insensitive).
Lower-case header names, preserving order and unknown headers.
@spec parse_retry_after(binary() | nil) :: non_neg_integer() | nil
Parse a Retry-After header value: integer seconds, or an HTTP-date
(delta from now, floored at 0). Returns nil for absent/invalid
values.