View Source Antikythera.Httpc.Response (antikythera v0.5.1)
A struct to represent an HTTP response.
Response headers are converted to a Antikythera.Http.Headers.t
and all header names are lower-cased.
set-cookie
response headers are handled separately and stored in cookies
field as a Antikythera.Http.SetCookiesMap.t
.
Summary
Functions
Type-aware getter for body.
Type-aware setter for body.
Type-aware getter for cookies.
Type-aware setter for cookies.
Type-aware getter for headers.
Type-aware setter for headers.
Creates a new instance of Antikythera.Httpc.Response by using the given dict
.
A variant of new/1
which returns t
or raise if validation fails.
Type-aware getter for status.
Type-aware setter for status.
Updates an existing instance of Antikythera.Httpc.Response with the given dict
.
The values in the dict
are validated by each field's valid?/1
function.
Returns {:ok, valid_struct}
or {:error, reason}
.
A variant of update/2
which returns t
or raise if validation fails.
In other words, update/2
followed by Croma.Result.get!/1
.
Checks if the given value belongs to t/0
or not.
Types
@type t() :: %Antikythera.Httpc.Response{ body: Croma.Binary.t(), cookies: Antikythera.Http.SetCookiesMap.t(), headers: Antikythera.Http.Headers.t(), status: Antikythera.Http.Status.Int.t() }
Functions
@spec body(t()) :: Croma.Binary.t()
Type-aware getter for body.
@spec body(t(), Croma.Binary.t()) :: t()
Type-aware setter for body.
@spec cookies(t()) :: Antikythera.Http.SetCookiesMap.t()
Type-aware getter for cookies.
@spec cookies(t(), Antikythera.Http.SetCookiesMap.t()) :: t()
Type-aware setter for cookies.
@spec headers(t()) :: Antikythera.Http.Headers.t()
Type-aware getter for headers.
@spec headers(t(), Antikythera.Http.Headers.t()) :: t()
Type-aware setter for headers.
@spec new(term()) :: Croma.Result.t(t())
Creates a new instance of Antikythera.Httpc.Response by using the given dict
.
Returns {:ok, valid_struct}
or {:error, reason}
.
The values in the dict
are validated by each field's valid?/1
function.
If the value was invalid, it will be passed to new/1
of the field
For missing fields, followings will be tried:
default/0
of each field typenew/1
of each field type, with empty map as input
A variant of new/1
which returns t
or raise if validation fails.
In other words, new/1
followed by Croma.Result.get!/1
.
@spec status(t()) :: Antikythera.Http.Status.Int.t()
Type-aware getter for status.
@spec status(t(), Antikythera.Http.Status.Int.t()) :: t()
Type-aware setter for status.
@spec update(t(), Dict.t()) :: Croma.Result.t(t())
Updates an existing instance of Antikythera.Httpc.Response with the given dict
.
The values in the dict
are validated by each field's valid?/1
function.
Returns {:ok, valid_struct}
or {:error, reason}
.
A variant of update/2
which returns t
or raise if validation fails.
In other words, update/2
followed by Croma.Result.get!/1
.
Checks if the given value belongs to t/0
or not.