ExAws v1.0.0-beta2 ExAws.Request.HttpClient behaviour
Specifies expected behaviour of an http client
ExAws allows you to use your http client of choice, provided that it can be coerced into complying with this module’s specification.
The default is :hackney.
Example
Here for example is the code required to make HTTPotion comply with this spec.
In your config you would do:
config :ex_aws,
http_client: ExAws.Request.HTTPotion
defmodule ExAws.Request.HTTPotion do
@behaviour ExAws.Request.HttpClient
def request(method, url, body, headers) do
{:ok, HTTPotion.request(method, url, [body: body, headers: headers, ibrowse: [headers_as_is: true]])}
end
end
Summary
Types
http_method :: :get | :post | :put | :delete
Callbacks
Specs
request(method :: http_method, url :: binary, req_body :: binary, headers :: [{binary, binary}, ...]) ::
{:ok, %{status_code: pos_integer, body: binary}} |
{:error, %{reason: any}}