summaryrefslogtreecommitdiff
path: root/lib/pleroma/reverse_proxy/client.ex
diff options
context:
space:
mode:
authorkaniini <nenolod@gmail.com>2019-07-09 16:54:14 +0000
committerkaniini <nenolod@gmail.com>2019-07-09 16:54:14 +0000
commitb6fd16d0a424f916b7338237a2972e595e404955 (patch)
tree3d5b7c516921b4fdcf50ffb71382e49d1474eb66 /lib/pleroma/reverse_proxy/client.ex
parent1179a135333aa59e7fa4f5b908e1db8257b994f5 (diff)
parent4e6e5d80428a40f0403560b3c8381ea48cf4373e (diff)
downloadpleroma-b6fd16d0a424f916b7338237a2972e595e404955.tar.gz
pleroma-b6fd16d0a424f916b7338237a2972e595e404955.zip
Merge branch 'test-coverage' into 'develop'
reverse proxy tests See merge request pleroma/pleroma!1385
Diffstat (limited to 'lib/pleroma/reverse_proxy/client.ex')
-rw-r--r--lib/pleroma/reverse_proxy/client.ex24
1 files changed, 24 insertions, 0 deletions
diff --git a/lib/pleroma/reverse_proxy/client.ex b/lib/pleroma/reverse_proxy/client.ex
new file mode 100644
index 000000000..57c2d2cfd
--- /dev/null
+++ b/lib/pleroma/reverse_proxy/client.ex
@@ -0,0 +1,24 @@
+defmodule Pleroma.ReverseProxy.Client do
+ @callback request(atom(), String.t(), [tuple()], String.t(), list()) ::
+ {:ok, pos_integer(), [tuple()], reference() | map()}
+ | {:ok, pos_integer(), [tuple()]}
+ | {:ok, reference()}
+ | {:error, term()}
+
+ @callback stream_body(reference() | pid() | map()) ::
+ {:ok, binary()} | :done | {:error, String.t()}
+
+ @callback close(reference() | pid() | map()) :: :ok
+
+ def request(method, url, headers, "", opts \\ []) do
+ client().request(method, url, headers, "", opts)
+ end
+
+ def stream_body(ref), do: client().stream_body(ref)
+
+ def close(ref), do: client().close(ref)
+
+ defp client do
+ Pleroma.Config.get([Pleroma.ReverseProxy.Client], :hackney)
+ end
+end