Current section
Files
Jump to
Current section
Files
lib/parser.ex
defmodule Whatsapp.Parser do
alias HTTPoison.Response
@doc """
Intercambia el primer parametro con el segundo y llama a una función privada
"""
def parse(response, type) do
_parse(type, response)
end
defp _parse(:media_upload, %Response{body: body}) do
%{"media" => [%{"id" => media_id}]} = body
{:ok, media_id}
end
defp _parse(:media_delete, %Response{status_code: 200, body: body}) do
{:ok, body}
end
defp _parse(_type, %Response{body: body}) do
body
end
defp _parse(_type, {:error, :max_attempts_exceeded}), do: {:error, "Max attempts exceeded"}
defp _parse(_type, _response) do
{:error, "Error parsing response"}
end
end