summaryrefslogtreecommitdiff
path: root/lib/polyjuice/client
diff options
context:
space:
mode:
Diffstat (limited to 'lib/polyjuice/client')
-rw-r--r--lib/polyjuice/client/endpoint.ex15
-rw-r--r--lib/polyjuice/client/endpoint/get_rooms_messages.ex17
-rw-r--r--lib/polyjuice/client/endpoint/get_sync.ex17
-rw-r--r--lib/polyjuice/client/endpoint/post_join.ex17
-rw-r--r--lib/polyjuice/client/endpoint/post_login.ex16
-rw-r--r--lib/polyjuice/client/endpoint/post_logout.ex18
-rw-r--r--lib/polyjuice/client/endpoint/post_rooms_receipt.ex18
-rw-r--r--lib/polyjuice/client/endpoint/post_user_filter.ex17
-rw-r--r--lib/polyjuice/client/endpoint/put_rooms_send.ex17
-rw-r--r--lib/polyjuice/client/endpoint/put_rooms_state.ex17
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