Current section
Files
Jump to
Current section
Files
lib/request.ex
defmodule Rackla.Request do
@moduledoc """
`Rackla.Request` is the struct used when executing advanced HTTP requests.
Required:
* `url` - The URL to call in the HTTP request.
Optional:
* `method` - HTTP verb, default: `:get`.
* `headers` - HTTP request headers, default: `%{}`.
* `body` - HTTP request body (payload), default: `""`.
* `options` - HTTP request specific options (see options below). These will
overwrite global options.
Options:
* `:full` - If set to true, the `Rackla` type will contain a `Rackla.Response`
struct with the status code, headers and body (payload), global default:
false.
* `:connect_timeout` - Connection timeout limit in milliseconds, global
default: `5_000`.
* `:receive_timeout` - Receive timeout limit in milliseconds, global default:
`5_000`.
* `:insecure` - If true, SSL certificates will not be checked, global default:
`false`.
* `:follow_redirect` - If set to true, Rackla will follow redirects,
default: `false`.
* `:max_redirect` - Maximum number of redirects, default: `5`.
* `:force_redirect` - Force follow redirect (e.g. POST), default: `false`.
* `:proxy` - Proxy to use, see `Rackla.Proxy`, default: `nil`.
"""
@type t :: %__MODULE__{
method: atom,
url: binary,
headers: %{},
body: binary,
options: %{}}
defstruct method: :get,
url: "",
headers: %{},
body: "",
options: %{}
end