Current section
Files
Jump to
Current section
Files
lib/httpclient.ex
defmodule Mailchimp.HTTPClient do
def get(url, header) do
case HTTPoison.get(url, header) do
{:ok, %HTTPoison.Response{status_code: 200, body: body}} ->
process_response_body body
{:ok, %HTTPoison.Response{status_code: 404}} ->
"Not found :("
{:error, %HTTPoison.Error{reason: reason}} ->
reason
end
end
def post(url, body, header) do
case HTTPoison.post(url, body, header) do
{:ok, %HTTPoison.Response{status_code: 200, body: body}} ->
process_response_body body
{:ok, %HTTPoison.Response{status_code: 404}} ->
"Not found :("
{:error, %HTTPoison.Error{reason: reason}} ->
reason
end
end
def process_response_body(body) do
body
|> Poison.decode!
|> Enum.map(fn({k, v}) -> {String.to_atom(k), v} end)
end
end