View Source Assent.HTTPAdapter behaviour (Assent v0.3.0)
HTTP adapter helper module.
You can configure the which HTTP adapter Assent uses by setting the configuring:
http_adapter: Assent.HTTPAdapter.Httpc
Default options can be set by passing a list of options:
http_adapter: {Assent.HTTPAdapter.Httpc, [...]}
You can also set global application config:
config :assent, :http_adapter, Assent.HTTPAdapter.Httpc
Usage
defmodule MyApp.MyHTTPAdapter do
@behaviour Assent.HTTPAdapter
@impl true
def request(method, url, body, headers, opts) do
# ...
end
end
Summary
Types
Callbacks
Functions
@spec decode_response(Assent.HTTPAdapter.HTTPResponse.t(), Keyword.t()) :: {:ok, Assent.HTTPAdapter.HTTPResponse.t()} | {:error, Assent.InvalidResponseError.t()}
Decodes request response body.
Options
:json_library
- The JSON library to use, seeAssent.json_library/1
@spec request(atom(), binary(), binary() | nil, list(), Keyword.t()) :: {:ok, Assent.HTTPAdapter.HTTPResponse.t()} | {:error, Assent.HTTPAdapter.HTTPResponse.t()} | {:error, term()}
Makes a HTTP request.
Options
:http_adapter
- The HTTP adapter to use, defaults toAssent.HTTPAdapter.Req
.:json_library
- The JSON library to use, seeAssent.json_library/1
.
Sets a user agent header.
The header value will be Assent-VERSION
with VERSION being the :vsn
of
:assent
app.