diff options
author | Ivan Tashkinov <ivant.business@gmail.com> | 2019-07-09 21:46:16 +0300 |
---|---|---|
committer | Ivan Tashkinov <ivant.business@gmail.com> | 2019-07-09 21:46:16 +0300 |
commit | 829e99722396c2372770f50d9fc7cfa40c441005 (patch) | |
tree | 6b72aa4ac5e049eb8bf444ade64e8da4499ef023 /lib/pleroma/reverse_proxy/client.ex | |
parent | 46cf81a544edd91f4c3893897fbe2db053f5f6d5 (diff) | |
parent | 2bb945cb70751bc8e72c036040130bb54c32f391 (diff) | |
download | pleroma-829e99722396c2372770f50d9fc7cfa40c441005.tar.gz |
[#878] Merge remote-tracking branch 'remotes/upstream/develop' into 878-activity-object-decoupling-in-tests
# Conflicts:
# lib/pleroma/object.ex
# test/web/activity_pub/transmogrifier_test.exs
# test/web/ostatus/ostatus_test.exs
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 |