...An Elixir OAuth 2.0 Client Library. This library can be configured to handle encoding and decoding requests and responses automatically based on the accept and/or content-type headers. The http client library used is tesla, the default adapter is Httpc, since it comes out of the box with every Erlang instance but you can easily change it to something better.
...This is very similar to how Plug Router works. All HTTP functions, such as Tesla.get/3 and Tesla.post/4, can take a dynamic client as the first argument. This allows using convenient syntax for modifying the behavior in runtime. Tesla supports multiple HTTP adapter that do the actual HTTP request processing. Each piece of the stream will be encoded as JSON and sent as a new line (conforming to JSON stream format).
Yet Another HTTP client for Elixir powered by hackney
HTTP client for Elixir, based on HTTPotion. HTTPoison uses hackney to execute HTTP requests instead of ibrowse. Using hackney we work only with binaries instead of string lists. First, add HTTPoison to your mix.exs dependencies. Add :httpoison to your applications list if your Elixir version is 1.3 or lower. You can also easily pattern match on the HTTPoison.Response struct.