Current section
Files
Jump to
Current section
Files
lib/hafnium.ex
defmodule Hafnium do
@external_resource readme = Path.join([__DIR__, "../README.md"])
@moduledoc readme
|> File.read!()
|> String.split("<!-- MDOC -->")
|> Enum.fetch!(1)
@moduledoc since: "0.1.0"
@type state :: :ignored | :error | :ok
@type result :: {state, any}
@type pipe_result :: t | result
@type pipeline :: {module, keyword}
@type trace :: %{
duration: non_neg_integer,
id: non_neg_integer,
index: non_neg_integer,
middleware: module,
result: result
}
@version Mix.Project.config()[:version]
@doc false
def version, do: @version
defstruct context: [],
result: {:ok, nil},
req: %HTTPoison.Request{url: nil},
resp: nil,
requests: [],
responses: [],
traces: [],
input: %{},
option: nil,
__module__: nil
@typedoc "Base struct"
@type t :: %__MODULE__{
context: keyword,
result: result,
req: HTTPoison.Request.t(),
resp: HTTPoison.Response.t() | nil,
requests: [pipeline],
responses: [pipeline],
traces: [trace],
input: map,
option: any,
__module__: module
}
end