diff options
author | Roman Chvanikov <chvanikoff@pm.me> | 2019-07-09 21:21:09 +0300 |
---|---|---|
committer | Roman Chvanikov <chvanikoff@pm.me> | 2019-07-09 21:21:09 +0300 |
commit | 371d39e160efa51f2fe608e1788f6b11b89d9839 (patch) | |
tree | b5dc6280d713f11392fd47bffd1a675b527162f5 /lib/pleroma/reverse_proxy/client.ex | |
parent | d2cb18b2a342b990cc47dfdc42adb843c3db1b5e (diff) | |
parent | 670a77ecbc94d57c6ecb5e569597e81cee4b5532 (diff) | |
download | pleroma-371d39e160efa51f2fe608e1788f6b11b89d9839.tar.gz pleroma-371d39e160efa51f2fe608e1788f6b11b89d9839.zip |
Merge develop
Diffstat (limited to 'lib/pleroma/reverse_proxy/client.ex')
-rw-r--r-- | lib/pleroma/reverse_proxy/client.ex | 24 |
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 |