Current section
Files
Jump to
Current section
Files
lib/utils/utils.ex
defmodule ExCoinbase.Utils do
@moduledoc """
Utils with responses processing
"""
@spec response_processing({:ok, Poison.Parser.t()} | {:error, HTTPoison.Error.t()}) ::
{:ok, {integer(), Poison.Parser.t()}} | {:error, Exception.t()} | {:error, HTTPoison.Error.t()}
def response_processing(response) do
case response do
{:ok, %{body: body, status_code: status}} ->
case Poison.decode(body) do
{:ok, decoded} -> {:ok, {status, decoded}}
{:error, error} -> {:error, error}
end
{:error, err} ->
{:error, err}
end
end
@spec build_body(struct() | map()) :: {:ok, String.t()} | {:error, Exception.t()}
def build_body(fields) do
Poison.encode(fields)
end
end