antikythera v0.4.0 Antikythera.Httpc.Response View Source

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.

Link to this section 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.

Link to this section Types

Specs

t() :: %Antikythera.Httpc.Response{
  body: Croma.Binary.t(),
  cookies: Antikythera.Http.SetCookiesMap.t(),
  headers: Antikythera.Http.Headers.t(),
  status: Antikythera.Http.Status.Int.t()
}

Link to this section Functions

Specs

body(t()) :: Croma.Binary.t()

Type-aware getter for body.

Specs

body(t(), Croma.Binary.t()) :: t()

Type-aware setter for body.

Specs

Type-aware getter for cookies.

Specs

cookies(t(), Antikythera.Http.SetCookiesMap.t()) :: t()

Type-aware setter for cookies.

Specs

headers(t()) :: Antikythera.Http.Headers.t()

Type-aware getter for headers.

Specs

headers(t(), Antikythera.Http.Headers.t()) :: t()

Type-aware setter for headers.

Specs

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 type
  • new/1 of each field type, with empty map as input

Specs

new!(term()) :: t()

A variant of new/1 which returns t or raise if validation fails.

In other words, new/1 followed by Croma.Result.get!/1.

Specs

Type-aware getter for status.

Specs

status(t(), Antikythera.Http.Status.Int.t()) :: t()

Type-aware setter for status.

Specs

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}.

Specs

update!(t(), Dict.t()) :: t()

A variant of update/2 which returns t or raise if validation fails. In other words, update/2 followed by Croma.Result.get!/1.

Specs

valid?(term()) :: boolean()

Checks if the given value belongs to t/0 or not.