hafnium v0.1.3 Hafnium View Source

Dynamic http request library, inspired by Tesla.

Link to this section Summary

Link to this section Types

Specs

pipe_result() :: t() | pipe_tuple()

Specs

pipe_tuple() ::
  :ignored
  | :ok
  | {:error, reason :: any()}
  | {:ok, result :: any()}
  | {:resp_body, body :: any()}

Specs

pipeline() :: {module(), keyword()}

Specs

result() :: {state(), any()}

Specs

state() :: :ignored | :error | :ok

Specs

t() :: %Hafnium{
  __module__: module(),
  context: keyword(),
  input: map(),
  option: any(),
  req: HTTPoison.Request.t(),
  requests: [pipeline()],
  resp: HTTPoison.Response.t() | nil,
  responses: [pipeline()],
  result: result(),
  traces: [trace()]
}

Base struct

Specs

trace() :: %{
  duration: non_neg_integer(),
  id: non_neg_integer(),
  index: non_neg_integer(),
  middleware: module(),
  result: result()
}