Tesla.Middleware.JSON (tex v0.1.0)
Encode requests and decode responses as JSON.
This middleware requires jason (or other engine) as dependency.
Remember to add {:jason, ">= 1.0"} to dependencies
Also, you need to recompile tesla after adding :jason dependency:
mix deps.clean tesla
mix deps.compile teslaExample usage
defmodule MyClient do
use Tesla
plug Tesla.Middleware.JSON # use jason engine
# or
plug Tesla.Middleware.JSON, engine: JSX, engine_opts: [strict: [:comments]]
# or
plug Tesla.Middleware.JSON, engine: Poison, engine_opts: [keys: :atoms]
# or
plug Tesla.Middleware.JSON, decode: &JSX.decode/1, encode: &JSX.encode/1
endOptions
:decode- decoding function:encode- encoding function:encode_content_type- content-type to be used in request header:engine- encode/decode engine, e.gJason,PoisonorJSX(defaults to Jason):engine_opts- optional engine options:decode_content_types- list of additional decodable content-types
Link to this section Summary
Link to this section Functions
Link to this function
decode(env, opts)
Decode response body as JSON.
It is used by Tesla.Middleware.DecodeJson.
Link to this function
encode(env, opts)
Encode request body as JSON.
It is used by Tesla.Middleware.EncodeJson.