diff options
author | feld <feld@feld.me> | 2021-06-07 20:06:36 +0000 |
---|---|---|
committer | feld <feld@feld.me> | 2021-06-07 20:06:36 +0000 |
commit | 84f42b92f0f53c569d0f7628d0a4af3ee5c06eaa (patch) | |
tree | 80664a6152e92abb37133fede9e3ed72c6801910 /lib/pleroma/reverse_proxy/client | |
parent | 4ca380490f1e42ef6b12c4b12ba9efabb89472fd (diff) | |
parent | 64bc0c69ed6b77283905b04585f03c23cbedbe03 (diff) | |
download | pleroma-84f42b92f0f53c569d0f7628d0a4af3ee5c06eaa.tar.gz |
Merge branch 'develop' into 'fix/prune-hashtags'
# Conflicts:
# CHANGELOG.md
Diffstat (limited to 'lib/pleroma/reverse_proxy/client')
-rw-r--r-- | lib/pleroma/reverse_proxy/client/wrapper.ex | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/lib/pleroma/reverse_proxy/client/wrapper.ex b/lib/pleroma/reverse_proxy/client/wrapper.ex new file mode 100644 index 000000000..06dd29fea --- /dev/null +++ b/lib/pleroma/reverse_proxy/client/wrapper.ex @@ -0,0 +1,29 @@ +# Pleroma: A lightweight social networking server +# Copyright © 2017-2021 Pleroma Authors <https://pleroma.social/> +# SPDX-License-Identifier: AGPL-3.0-only + +defmodule Pleroma.ReverseProxy.Client.Wrapper do + @moduledoc "Meta-client that calls the appropriate client from the config." + @behaviour Pleroma.ReverseProxy.Client + + @impl true + def request(method, url, headers, body \\ "", opts \\ []) do + client().request(method, url, headers, body, opts) + end + + @impl true + def stream_body(ref), do: client().stream_body(ref) + + @impl true + def close(ref), do: client().close(ref) + + defp client do + :tesla + |> Application.get_env(:adapter) + |> client() + end + + defp client(Tesla.Adapter.Hackney), do: Pleroma.ReverseProxy.Client.Hackney + defp client(Tesla.Adapter.Gun), do: Pleroma.ReverseProxy.Client.Tesla + defp client(_), do: Pleroma.Config.get!(Pleroma.ReverseProxy.Client) +end |