Hex.pm version Hex.pm downloads

MachineGun

HTTP client for Elixir. Based on Gun and Poolboy.

Example

%MachineGun.Response{body: body, status_code: 200} =
MachineGun.get!(
"http://icanhazip.com",
[{"accept", "text/plain"}],
%{pool_timeout: 1000, request_timeout: 5000, pool_group: :default})

Options are included to show defaults and can be omitted. pool_timeout and request_timeout default to values specified in pool group configuration. If not specified in pool group configuration they default to the values in the example.

Configuration

config :machine_gun,
# Default pool group
default: %{
pool_size: 4, # Poolboy size [1]
pool_max_overflow: 4, # Poolboy max_overflow [1]
pool_timeout: 1000,
request_timeout: 5000,
conn_opts: %{} # Gun connection options [2]
}

Configuration example shows defaults and can be omitted.

  1. https://github.com/devinus/poolboy#options
  2. https://ninenines.eu/docs/en/gun/1.0/manual/gun/