Mandrill
An HTTP client for Mandrill.
Summary↑
| delete!(url, headers \\ [], options \\ []) | Issues a DELETE request to the given url, raising an exception in case of failure |
| delete(url, headers \\ [], options \\ []) | Issues a DELETE request to the given url |
| get!(url, headers \\ [], options \\ []) | Issues a GET request to the given url, raising an exception in case of failure |
| get(url, headers \\ [], options \\ []) | Issues a GET request to the given url |
| head!(url, headers \\ [], options \\ []) | Issues a HEAD request to the given url, raising an exception in case of failure |
| head(url, headers \\ [], options \\ []) | Issues a HEAD request to the given url |
| key() | Grabs MANDRILL_KEY from system ENV Returns binary |
| options!(url, headers \\ [], options \\ []) | Issues a OPTIONS request to the given url, raising an exception in case of failure |
| options(url, headers \\ [], options \\ []) | Issues an OPTIONS request to the given url |
| patch!(url, body, headers \\ [], options \\ []) | Issues a PATCH request to the given url, raising an exception in case of failure |
| patch(url, body, headers \\ [], options \\ []) | Issues a PATCH request to the given url |
| post!(url, body, headers \\ [], options \\ []) | Issues a POST request to the given url, raising an exception in case of failure |
| post(url, body, headers \\ [], options \\ []) | Issues a POST request to the given url |
| process_response_body(body) | Converts the binary keys in our response to atoms. Args:
|
| process_url(endpoint) | Creates the URL for our endpoint. Args:
|
| put!(url, body, headers \\ [], options \\ []) | Issues a PUT request to the given url, raising an exception in case of failure |
| put(url, body, headers \\ [], options \\ []) | Issues a PUT request to the given url |
| request!(method, url, body \\ "", headers \\ [], options \\ []) | Issues an HTTP request with the given method to the given url, raising an exception in case of failure |
| request(endpoint, body) | Boilerplate code to make requests. Args:
|
| request(method, url, body \\ "", headers \\ [], options \\ []) | Issues an HTTP request with the given method to the given url |
| start() | Starts HTTPoison and its dependencies |
| start(type, args) | Callback implementation of |
Types ↑
headers :: %{} | [{binary, binary}]
Functions
Specs:
- delete(binary, headers, [{atom, any}]) :: {:ok, HTTPoison.Response.t | HTTPoison.AsyncResponse.t} | {:error, HTTPoison.Error.t}
Issues a DELETE request to the given url.
Returns {:ok, response} if the request is successful, {:error, reason}
otherwise.
See request/5 for more detailed information.
Specs:
- delete!(binary, headers, [{atom, any}]) :: HTTPoison.Response.t | HTTPoison.AsyncResponse.t
Issues a DELETE request to the given url, raising an exception in case of failure.
If the request does not fail, the response is returned.
See request!/5 for more detailed information.
Specs:
- get(binary, headers, [{atom, any}]) :: {:ok, HTTPoison.Response.t | HTTPoison.AsyncResponse.t} | {:error, HTTPoison.Error.t}
Issues a GET request to the given url.
Returns {:ok, response} if the request is successful, {:error, reason}
otherwise.
See request/5 for more detailed information.
Specs:
- get!(binary, headers, [{atom, any}]) :: HTTPoison.Response.t | HTTPoison.AsyncResponse.t
Issues a GET request to the given url, raising an exception in case of failure.
If the request does not fail, the response is returned.
See request!/5 for more detailed information.
Specs:
- head(binary, headers, [{atom, any}]) :: {:ok, HTTPoison.Response.t | HTTPoison.AsyncResponse.t} | {:error, HTTPoison.Error.t}
Issues a HEAD request to the given url.
Returns {:ok, response} if the request is successful, {:error, reason}
otherwise.
See request/5 for more detailed information.
Specs:
- head!(binary, headers, [{atom, any}]) :: HTTPoison.Response.t | HTTPoison.AsyncResponse.t
Issues a HEAD request to the given url, raising an exception in case of failure.
If the request does not fail, the response is returned.
See request!/5 for more detailed information.
Grabs MANDRILL_KEY from system ENV Returns binary
Specs:
- options(binary, headers, [{atom, any}]) :: {:ok, HTTPoison.Response.t | HTTPoison.AsyncResponse.t} | {:error, HTTPoison.Error.t}
Issues an OPTIONS request to the given url.
Returns {:ok, response} if the request is successful, {:error, reason}
otherwise.
See request/5 for more detailed information.
Specs:
- options!(binary, headers, [{atom, any}]) :: HTTPoison.Response.t | HTTPoison.AsyncResponse.t
Issues a OPTIONS request to the given url, raising an exception in case of failure.
If the request does not fail, the response is returned.
See request!/5 for more detailed information.
Specs:
- patch(binary, binary, headers, [{atom, any}]) :: {:ok, HTTPoison.Response.t | HTTPoison.AsyncResponse.t} | {:error, HTTPoison.Error.t}
Issues a PATCH request to the given url.
Returns {:ok, response} if the request is successful, {:error, reason}
otherwise.
See request/5 for more detailed information.
Specs:
- patch!(binary, binary, headers, [{atom, any}]) :: HTTPoison.Response.t | HTTPoison.AsyncResponse.t
Issues a PATCH request to the given url, raising an exception in case of failure.
If the request does not fail, the response is returned.
See request!/5 for more detailed information.
Specs:
- post(binary, binary, headers, [{atom, any}]) :: {:ok, HTTPoison.Response.t | HTTPoison.AsyncResponse.t} | {:error, HTTPoison.Error.t}
Issues a POST request to the given url.
Returns {:ok, response} if the request is successful, {:error, reason}
otherwise.
See request/5 for more detailed information.
Specs:
- post!(binary, binary, headers, [{atom, any}]) :: HTTPoison.Response.t | HTTPoison.AsyncResponse.t
Issues a POST request to the given url, raising an exception in case of failure.
If the request does not fail, the response is returned.
See request!/5 for more detailed information.
Converts the binary keys in our response to atoms. Args:
- body - string binary response Returns Record or ArgumentError
Creates the URL for our endpoint. Args:
- endpoint - part of the API we’re hitting Returns string
Specs:
- put(binary, binary, headers, [{atom, any}]) :: {:ok, HTTPoison.Response.t | HTTPoison.AsyncResponse.t} | {:error, HTTPoison.Error.t}
Issues a PUT request to the given url.
Returns {:ok, response} if the request is successful, {:error, reason}
otherwise.
See request/5 for more detailed information.
Specs:
- put!(binary, binary, headers, [{atom, any}]) :: HTTPoison.Response.t | HTTPoison.AsyncResponse.t
Issues a PUT request to the given url, raising an exception in case of failure.
If the request does not fail, the response is returned.
See request!/5 for more detailed information.
Boilerplate code to make requests. Args:
- endpoint - string requested API endpoint
- body - request body Returns dict
Specs:
- request(atom, binary, binary, headers, [{atom, any}]) :: {:ok, HTTPoison.Response.t | HTTPoison.AsyncResponse.t} | {:error, HTTPoison.Error.t}
Issues an HTTP request with the given method to the given url.
Args:
method- HTTP method as an atom (:get,:head,:post,:put,:delete, etc.)url- target url as a binary string or char listbody- request body as a binary string or char listheaders- HTTP headers as an orddict (e.g., `[{:Accept, "application/json"}]`)options- orddict of options
Options:
:timeout- the timeout (in milliseconds) of the request:stream_to- a PID to stream the response to:proxy- a proxy to be used for the request; it can by a regular url or a{Host, Proxy}tuple
This function returns {:ok, response} or {:ok, async_response} if the
request is successful, {:error, reason} otherwise.
Examples
request(:post, "https://my.website.com", "{\"foo\": 3}", [{"Accept", "application/json"}])
Specs:
- request!(atom, binary, binary, headers, [{atom, any}]) :: HTTPoison.Response.t
Issues an HTTP request with the given method to the given url, raising an exception in case of failure.
request!/5 works exactly like request/5 but it returns just the
response in case of a successful request, raising an exception in case the
request fails.
Starts HTTPoison and its dependencies.
Callback implementation of :application.start/2.