diff options
author | Steven Blowers <sblowers@findmypast.com> | 2016-09-13 16:32:32 +0100 |
---|---|---|
committer | Steven Blowers <sblowers@findmypast.com> | 2016-09-13 16:32:32 +0100 |
commit | 951a6942656965b0a1e6be0761cda8deddd9fd38 (patch) | |
tree | ccb2af16ac005c0809129843d25273731ac35ab7 /lib/zendex/ticket.ex | |
parent | b036ecfc34bc283b143aca540253918e6d8eda5c (diff) | |
download | zendex-951a6942656965b0a1e6be0761cda8deddd9fd38.tar.gz zendex-951a6942656965b0a1e6be0761cda8deddd9fd38.tar.xz |
Ticket module now decodes response
Diffstat (limited to 'lib/zendex/ticket.ex')
-rw-r--r-- | lib/zendex/ticket.ex | 23 |
1 files changed, 14 insertions, 9 deletions
diff --git a/lib/zendex/ticket.ex b/lib/zendex/ticket.ex index b6ccad9..c1f3edc 100644 --- a/lib/zendex/ticket.ex +++ b/lib/zendex/ticket.ex @@ -8,21 +8,26 @@ defmodule Zendex.Ticket do @http_client Application.get_env(:zendex, :http_client) - @spec list(Zendex.Connection.t) :: HTTPoison.Response.t + @spec list(Zendex.Connection.t) :: map def list(connection) do - full_url = connection.base_url <> @url - - @http_client.get!(full_url, headers(connection.authentication)) + connection.base_url + |> Kernel.<>(@url) + |> @http_client.get!(headers(connection.authentication)) + |> decode_response end - @spec create(Zendex.Connection.t, map) :: HTTPoison.Response.t + @spec create(Zendex.Connection.t, map) :: map def create(connection, ticket) do - @http_client.post!(connection.base_url <> @url, - Poison.encode!(ticket), - headers(connection.authentication) ++ - [{"Content-Type", "application/json"}]) + response = @http_client.post!(connection.base_url <> @url, + Poison.encode!(ticket), + headers(connection.authentication) ++ + [{"Content-Type", "application/json"}]) + + decode_response(response) end + defp decode_response(%{body: body}), do: Poison.decode!(body) + defp headers(authentication) do [{"Authorization", "Basic #{authentication}"}] end |