Current section

Files

Jump to
exkeycdn lib json_encoder.ex
Raw

lib/json_encoder.ex

defmodule ExKeyCDN.JsonEncoder do
@moduledoc """
Encodes map to application/json
"""
@spec encode(map) :: binary | {:error, binary}
def encode(body) when is_map(body) do
case Jason.encode(body) do
{:ok, json} -> json
{:error, %Jason.EncodeError{message: message}} -> {:error, message}
_ -> {:error, "Unable to encode to json."}
end
end
def encode(_body), do: {:error, "Request body must be a map."}
end