diff options
Diffstat (limited to 'lib/polyjuice/client')
-rw-r--r-- | lib/polyjuice/client/endpoint.ex | 15 | ||||
-rw-r--r-- | lib/polyjuice/client/endpoint/get_rooms_messages.ex | 17 | ||||
-rw-r--r-- | lib/polyjuice/client/endpoint/get_sync.ex | 17 | ||||
-rw-r--r-- | lib/polyjuice/client/endpoint/post_join.ex | 17 | ||||
-rw-r--r-- | lib/polyjuice/client/endpoint/post_login.ex | 16 | ||||
-rw-r--r-- | lib/polyjuice/client/endpoint/post_logout.ex | 18 | ||||
-rw-r--r-- | lib/polyjuice/client/endpoint/post_rooms_receipt.ex | 18 | ||||
-rw-r--r-- | lib/polyjuice/client/endpoint/post_user_filter.ex | 17 | ||||
-rw-r--r-- | lib/polyjuice/client/endpoint/put_rooms_send.ex | 17 | ||||
-rw-r--r-- | lib/polyjuice/client/endpoint/put_rooms_state.ex | 17 |
10 files changed, 83 insertions, 86 deletions
diff --git a/lib/polyjuice/client/endpoint.ex b/lib/polyjuice/client/endpoint.ex index 97eb277..1b6b7b5 100644 --- a/lib/polyjuice/client/endpoint.ex +++ b/lib/polyjuice/client/endpoint.ex @@ -31,15 +31,13 @@ defmodule Polyjuice.Client.Endpoint do headers: [{String.t(), String.t()}], url: String.t(), body: String.t(), - transform: (integer, [{String.t(), String.t()}, ...], String.t() -> any), auth_required: true | false } - @enforce_keys [:method, :headers, :url, :transform] + @enforce_keys [:method, :headers, :url] defstruct [ :method, :headers, :url, - :transform, body: "", auth_required: true ] @@ -58,5 +56,16 @@ defmodule Polyjuice.Client.Endpoint do base_url :: String.t() ) :: Polyjuice.Client.Endpoint.HttpSpec.t() def http_spec(endpoint_args, base_url) + + @doc """ + Transform the HTTP result into a return value. + """ + @spec transform_http_result( + endpoint_args :: __MODULE__.t(), + status_code :: integer(), + headers :: [{String.t(), String.t()}, ...], + body :: String.t() + ) :: any + def transform_http_result(endpoint_args, status_code, headers, body) end end diff --git a/lib/polyjuice/client/endpoint/get_rooms_messages.ex b/lib/polyjuice/client/endpoint/get_rooms_messages.ex index 1983a2b..bceea3f 100644 --- a/lib/polyjuice/client/endpoint/get_rooms_messages.ex +++ b/lib/polyjuice/client/endpoint/get_rooms_messages.ex @@ -74,19 +74,18 @@ defmodule Polyjuice.Client.Endpoint.GetRoomsMessages do headers: [ {"Accept", "application/json"} ], - url: to_string(url), - transform: &Polyjuice.Client.Endpoint.GetRoomsMessages.transform/3 + url: to_string(url) } end - end - def transform(status_code, _resp_headers, body) do - case status_code do - 200 -> - {:ok, Poison.decode!(body)} + def transform_http_result(_req, status_code, _resp_headers, body) do + case status_code do + 200 -> + {:ok, Poison.decode!(body)} - _ -> - {:error, status_code, body} + _ -> + {:error, status_code, body} + end end end end diff --git a/lib/polyjuice/client/endpoint/get_sync.ex b/lib/polyjuice/client/endpoint/get_sync.ex index 79e9553..c30e680 100644 --- a/lib/polyjuice/client/endpoint/get_sync.ex +++ b/lib/polyjuice/client/endpoint/get_sync.ex @@ -80,19 +80,18 @@ defmodule Polyjuice.Client.Endpoint.GetSync do headers: [ {"Accept", "application/json"} ], - url: to_string(url), - transform: &Polyjuice.Client.Endpoint.GetSync.transform/3 + url: to_string(url) } end - end - def transform(status_code, _resp_headers, body) do - case status_code do - 200 -> - {:ok, Poison.decode!(body)} + def transform_http_result(_req, status_code, _resp_headers, body) do + case status_code do + 200 -> + {:ok, Poison.decode!(body)} - _ -> - {:error, status_code, body} + _ -> + {:error, status_code, body} + end end end end diff --git a/lib/polyjuice/client/endpoint/post_join.ex b/lib/polyjuice/client/endpoint/post_join.ex index 4e967e8..bdc8c0a 100644 --- a/lib/polyjuice/client/endpoint/post_join.ex +++ b/lib/polyjuice/client/endpoint/post_join.ex @@ -72,19 +72,18 @@ defmodule Polyjuice.Client.Endpoint.PostJoin do {"Content-Type", "application/json"} ], url: to_string(url), - body: body, - transform: &Polyjuice.Client.Endpoint.PostJoin.transform/3 + body: body } end - end - def transform(status_code, _resp_headers, body) do - case status_code do - 200 -> - {:ok, body |> Poison.decode!() |> Map.get("room_id")} + def transform_http_result(_req, status_code, _resp_headers, body) do + case status_code do + 200 -> + {:ok, body |> Poison.decode!() |> Map.get("room_id")} - _ -> - {:error, status_code, body} + _ -> + {:error, status_code, body} + end end end end diff --git a/lib/polyjuice/client/endpoint/post_login.ex b/lib/polyjuice/client/endpoint/post_login.ex index bb068e2..e374b41 100644 --- a/lib/polyjuice/client/endpoint/post_login.ex +++ b/lib/polyjuice/client/endpoint/post_login.ex @@ -80,20 +80,18 @@ defmodule Polyjuice.Client.Endpoint.PostLogin do ) |> to_string(), body: body, - transform: &Polyjuice.Client.Endpoint.PostLogin.transform/3, auth_required: false } end - end - @doc false - def transform(status_code, _resp_headers, body) do - case status_code do - 200 -> - {:ok, Poison.decode!(body)} + def transform_http_result(_req, status_code, _resp_headers, body) do + case status_code do + 200 -> + {:ok, Poison.decode!(body)} - _ -> - {:error, status_code, body} + _ -> + {:error, status_code, body} + end end end end diff --git a/lib/polyjuice/client/endpoint/post_logout.ex b/lib/polyjuice/client/endpoint/post_logout.ex index 7523797..e29c28b 100644 --- a/lib/polyjuice/client/endpoint/post_logout.ex +++ b/lib/polyjuice/client/endpoint/post_logout.ex @@ -41,20 +41,18 @@ defmodule Polyjuice.Client.Endpoint.PostLogout do "#{Polyjuice.Client.prefix_r0()}/logout" ) |> to_string(), - body: "{}", - transform: &Polyjuice.Client.Endpoint.PostLogout.transform/3 + body: "{}" } end - end - @doc false - def transform(status_code, _resp_headers, body) do - case status_code do - 200 -> - :ok + def transform_http_result(_req, status_code, _resp_headers, body) do + case status_code do + 200 -> + {:ok} - _ -> - {:error, status_code, body} + _ -> + {:error, status_code, body} + end end end end diff --git a/lib/polyjuice/client/endpoint/post_rooms_receipt.ex b/lib/polyjuice/client/endpoint/post_rooms_receipt.ex index 49344d0..45cff8e 100644 --- a/lib/polyjuice/client/endpoint/post_rooms_receipt.ex +++ b/lib/polyjuice/client/endpoint/post_rooms_receipt.ex @@ -59,20 +59,18 @@ defmodule Polyjuice.Client.Endpoint.PostRoomsReceipt do }" ) |> to_string(), - body: "{}", - transform: &Polyjuice.Client.Endpoint.PostRoomsReceipt.transform/3 + body: "{}" } end - end - @doc false - def transform(status_code, _resp_headers, body) do - case status_code do - 200 -> - {:ok} + def transform_http_result(_req, status_code, _resp_headers, body) do + case status_code do + 200 -> + {:ok} - _ -> - {:error, status_code, body} + _ -> + {:error, status_code, body} + end end end end diff --git a/lib/polyjuice/client/endpoint/post_user_filter.ex b/lib/polyjuice/client/endpoint/post_user_filter.ex index ee426a9..39b0f4a 100644 --- a/lib/polyjuice/client/endpoint/post_user_filter.ex +++ b/lib/polyjuice/client/endpoint/post_user_filter.ex @@ -53,19 +53,18 @@ defmodule Polyjuice.Client.Endpoint.PostUserFilter do "#{Polyjuice.Client.prefix_r0()}/user/#{e.(user_id)}/filter" ) |> to_string(), - body: body, - transform: &Polyjuice.Client.Endpoint.PostUserFilter.transform/3 + body: body } end - end - def transform(status_code, _resp_headers, body) do - case status_code do - 200 -> - {:ok, body |> Poison.decode!() |> Map.get("filter_id")} + def transform_http_result(_req, status_code, _resp_headers, body) do + case status_code do + 200 -> + {:ok, body |> Poison.decode!() |> Map.get("filter_id")} - _ -> - {:error, status_code, body} + _ -> + {:error, status_code, body} + end end end end diff --git a/lib/polyjuice/client/endpoint/put_rooms_send.ex b/lib/polyjuice/client/endpoint/put_rooms_send.ex index 4bfc411..717624d 100644 --- a/lib/polyjuice/client/endpoint/put_rooms_send.ex +++ b/lib/polyjuice/client/endpoint/put_rooms_send.ex @@ -61,19 +61,18 @@ defmodule Polyjuice.Client.Endpoint.PutRoomsSend do }" ) |> to_string(), - body: body, - transform: &Polyjuice.Client.Endpoint.PutRoomsSend.transform/3 + body: body } end - end - def transform(status_code, _resp_headers, body) do - case status_code do - 200 -> - {:ok, body |> Poison.decode!() |> Map.get("event_id")} + def transform_http_result(_req, status_code, _resp_headers, body) do + case status_code do + 200 -> + {:ok, body |> Poison.decode!() |> Map.get("event_id")} - _ -> - {:error, status_code, body} + _ -> + {:error, status_code, body} + end end end end diff --git a/lib/polyjuice/client/endpoint/put_rooms_state.ex b/lib/polyjuice/client/endpoint/put_rooms_state.ex index c5f6fa1..98481ed 100644 --- a/lib/polyjuice/client/endpoint/put_rooms_state.ex +++ b/lib/polyjuice/client/endpoint/put_rooms_state.ex @@ -61,19 +61,18 @@ defmodule Polyjuice.Client.Endpoint.PutRoomsState do }" ) |> to_string(), - body: body, - transform: &Polyjuice.Client.Endpoint.PutRoomsSend.transform/3 + body: body } end - end - def transform(status_code, _resp_headers, body) do - case status_code do - 200 -> - {:ok, body |> Poison.decode!() |> Map.get("event_id")} + def transform_http_result(_req, status_code, _resp_headers, body) do + case status_code do + 200 -> + {:ok, body |> Poison.decode!() |> Map.get("event_id")} - _ -> - {:error, status_code, body} + _ -> + {:error, status_code, body} + end end end end |