Salemove.HttpClient.Decoder (salemove_http_client v5.0.0)
A module, responsible for creating a EngagementRouter.HttpClient.Response
from Tesla
response, or, if request wasn't successful, for creating one
of exception structures.
Link to this section Summary
Functions
Accepts result of request to Tesla
client and constructs
Elixir.Salemove.HttpClient.Response
structure from it.
Link to this section Types
Link to this type
on_decode()
Specs
on_decode() :: {:ok, Salemove.HttpClient.Response.t()} | {:error, reason()}
Link to this type
reason()
Specs
reason() :: Salemove.HttpClient.JSONError.t() | Salemove.HttpClient.ConnectionError.t() | Salemove.HttpClient.UnexpectedRedirectError.t() | Salemove.HttpClient.ClientError.t() | Salemove.HttpClient.ServerError.t() | Salemove.HttpClient.UnavailableError.t() | Salemove.HttpClient.UnsupportedProtocolError.t()
Link to this type
tesla_result()
Specs
tesla_result() :: {:ok, Tesla.Env.t()} | {:error, reason :: any()}
Link to this section Functions
Link to this function
decode(tesla_result)
Specs
decode(tesla_result()) :: on_decode()
Accepts result of request to Tesla
client and constructs
Elixir.Salemove.HttpClient.Response
structure from it.