aboutsummaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
Diffstat (limited to 'lib')
-rw-r--r--lib/pleroma/http/adapter_helper/gun.ex2
-rw-r--r--lib/pleroma/http/adapter_helper/hackney.ex2
-rw-r--r--lib/pleroma/http/connection.ex12
-rw-r--r--lib/pleroma/pool/request.ex1
-rw-r--r--lib/pleroma/pool/supervisor.ex17
-rw-r--r--lib/pleroma/reverse_proxy/client/tesla.ex9
-rw-r--r--lib/pleroma/reverse_proxy/reverse_proxy.ex2
7 files changed, 22 insertions, 23 deletions
diff --git a/lib/pleroma/http/adapter_helper/gun.ex b/lib/pleroma/http/adapter_helper/gun.ex
index f14b95c19..ead7cdc6b 100644
--- a/lib/pleroma/http/adapter_helper/gun.ex
+++ b/lib/pleroma/http/adapter_helper/gun.ex
@@ -22,7 +22,7 @@ defmodule Pleroma.HTTP.AdapterHelper.Gun do
@spec options(keyword(), URI.t()) :: keyword()
def options(incoming_opts \\ [], %URI{} = uri) do
proxy =
- Pleroma.Config.get([:http, :proxy_url], nil)
+ Pleroma.Config.get([:http, :proxy_url])
|> AdapterHelper.format_proxy()
config_opts = Pleroma.Config.get([:http, :adapter], [])
diff --git a/lib/pleroma/http/adapter_helper/hackney.ex b/lib/pleroma/http/adapter_helper/hackney.ex
index d08afae0c..dcb4cac71 100644
--- a/lib/pleroma/http/adapter_helper/hackney.ex
+++ b/lib/pleroma/http/adapter_helper/hackney.ex
@@ -11,7 +11,7 @@ defmodule Pleroma.HTTP.AdapterHelper.Hackney do
@spec options(keyword(), URI.t()) :: keyword()
def options(connection_opts \\ [], %URI{} = uri) do
- proxy = Pleroma.Config.get([:http, :proxy_url], nil)
+ proxy = Pleroma.Config.get([:http, :proxy_url])
config_opts = Pleroma.Config.get([:http, :adapter], [])
diff --git a/lib/pleroma/http/connection.ex b/lib/pleroma/http/connection.ex
index 76de3fcfe..ebacf7902 100644
--- a/lib/pleroma/http/connection.ex
+++ b/lib/pleroma/http/connection.ex
@@ -30,12 +30,12 @@ defmodule Pleroma.HTTP.Connection do
@defaults
|> pool_timeout()
|> Keyword.merge(opts)
- |> adapter().options(uri)
+ |> adapter_helper().options(uri)
end
defp pool_timeout(opts) do
{config_key, default} =
- if Application.get_env(:tesla, :adapter) == Tesla.Adapter.Gun do
+ if adapter() == Tesla.Adapter.Gun do
{:pools, Config.get([:pools, :default, :timeout])}
else
{:hackney_pools, 10_000}
@@ -47,10 +47,12 @@ defmodule Pleroma.HTTP.Connection do
end
@spec after_request(keyword()) :: :ok
- def after_request(opts), do: adapter().after_request(opts)
+ def after_request(opts), do: adapter_helper().after_request(opts)
- defp adapter do
- case Application.get_env(:tesla, :adapter) do
+ defp adapter, do: Application.get_env(:tesla, :adapter)
+
+ defp adapter_helper do
+ case adapter() do
Tesla.Adapter.Gun -> AdapterHelper.Gun
Tesla.Adapter.Hackney -> AdapterHelper.Hackney
_ -> AdapterHelper
diff --git a/lib/pleroma/pool/request.ex b/lib/pleroma/pool/request.ex
index db7c10c01..3fb930db7 100644
--- a/lib/pleroma/pool/request.ex
+++ b/lib/pleroma/pool/request.ex
@@ -39,7 +39,6 @@ defmodule Pleroma.Pool.Request do
@impl true
def handle_info({:gun_down, _conn, _protocol, _reason, _killed}, state) do
- # don't flush messages here, because gun can reconnect
{:noreply, state}
end
diff --git a/lib/pleroma/pool/supervisor.ex b/lib/pleroma/pool/supervisor.ex
index 8dc5b64b7..faf646cb2 100644
--- a/lib/pleroma/pool/supervisor.ex
+++ b/lib/pleroma/pool/supervisor.ex
@@ -13,16 +13,13 @@ defmodule Pleroma.Pool.Supervisor do
end
def init(_) do
- children =
- [
- %{
- id: Pool.Connections,
- start:
- {Pool.Connections, :start_link, [{:gun_connections, Config.get([:connections_pool])}]}
- }
- ] ++ pools()
-
- Supervisor.init(children, strategy: :one_for_one)
+ conns_child = %{
+ id: Pool.Connections,
+ start:
+ {Pool.Connections, :start_link, [{:gun_connections, Config.get([:connections_pool])}]}
+ }
+
+ Supervisor.init([conns_child | pools()], strategy: :one_for_one)
end
defp pools do
diff --git a/lib/pleroma/reverse_proxy/client/tesla.ex b/lib/pleroma/reverse_proxy/client/tesla.ex
index dbc6b66a3..e81ea8bde 100644
--- a/lib/pleroma/reverse_proxy/client/tesla.ex
+++ b/lib/pleroma/reverse_proxy/client/tesla.ex
@@ -3,11 +3,11 @@
# SPDX-License-Identifier: AGPL-3.0-only
defmodule Pleroma.ReverseProxy.Client.Tesla do
+ @behaviour Pleroma.ReverseProxy.Client
+
@type headers() :: [{String.t(), String.t()}]
@type status() :: pos_integer()
- @behaviour Pleroma.ReverseProxy.Client
-
@spec request(atom(), String.t(), headers(), String.t(), keyword()) ::
{:ok, status(), headers}
| {:ok, status(), headers, map()}
@@ -18,7 +18,7 @@ defmodule Pleroma.ReverseProxy.Client.Tesla do
def request(method, url, headers, body, opts \\ []) do
check_adapter()
- opts = Keyword.merge(opts, body_as: :chunks)
+ opts = Keyword.put(opts, :body_as, :chunks)
with {:ok, response} <-
Pleroma.HTTP.request(
@@ -39,7 +39,8 @@ defmodule Pleroma.ReverseProxy.Client.Tesla do
end
@impl true
- @spec stream_body(map()) :: {:ok, binary(), map()} | {:error, atom() | String.t()} | :done
+ @spec stream_body(map()) ::
+ {:ok, binary(), map()} | {:error, atom() | String.t()} | :done | no_return()
def stream_body(%{pid: pid, opts: opts, fin: true}) do
# if connection was reused, but in tesla were redirects,
# tesla returns new opened connection, which must be closed manually
diff --git a/lib/pleroma/reverse_proxy/reverse_proxy.ex b/lib/pleroma/reverse_proxy/reverse_proxy.ex
index 8f1aa3200..35b973b56 100644
--- a/lib/pleroma/reverse_proxy/reverse_proxy.ex
+++ b/lib/pleroma/reverse_proxy/reverse_proxy.ex
@@ -59,7 +59,7 @@ defmodule Pleroma.ReverseProxy do
* `req_headers`, `resp_headers` additional headers.
- * `http`: options for [gun](https://github.com/ninenines/gun).
+ * `http`: options for [hackney](https://github.com/benoitc/hackney) or [gun](https://github.com/ninenines/gun).
"""
@default_options [pool: :media]