http_client v0.1.2 Client.Encoders behaviour
Provided Encoders
GETURLEncoded
This uses FormData to prepare a url-encoded payload for GET requests, it does not set custom headers because HTTPoison and Hackney do this automatically.
JSON
This uses Poison to prepare a binary payload for POST, PATCH, and PUT requests, it sets a custom
Content-Type
header toapplication/json
.Multipart
This uses FormData to prepare a multipart payload for POST, PATCH, PUT requests. It does not set custom headers because HTTPoison and Hackney do this automatically.
NilEncoder
This does not encode any data, it is only useful for documentation purposes when using HTTPoison’s delete/2 function, since DELETE requests do not carry payloads.
URLEncoded
This uses FormData to prepare a url-encoded payload for POST, PATCH< and PUT requests. It does not set custom headers because HTTPoison and Hackney do this automatically.
Examples
defmodule MyCustomEncoder do
@behaviour Client.Encoders
def headers, do: %{"Content-Type" => "application/custom-data"}
def encode(payload), do: MyEncoder.encode(payload)
def encode!(payload), do: MyEncoder.encode!(payload)
end