X-Git-Url: http://git.squeep.com/?a=blobdiff_plain;f=lib%2Fpleroma%2Fhttp%2Fadapter_helper.ex;h=e5da3ffa8f03e9578f18152b5f238b1a81db91ab;hb=2c9e02429aaab2b9080b75a193142a4dd191631e;hp=4949dd7277ba6c00197ea60570cbbe8db30eec81;hpb=37a1001b97be5b103dab9dc0f62d73487e8d5450;p=akkoma diff --git a/lib/pleroma/http/adapter_helper.ex b/lib/pleroma/http/adapter_helper.ex index 4949dd727..e5da3ffa8 100644 --- a/lib/pleroma/http/adapter_helper.ex +++ b/lib/pleroma/http/adapter_helper.ex @@ -14,9 +14,7 @@ defmodule Pleroma.HTTP.AdapterHelper do alias Pleroma.HTTP.AdapterHelper require Logger - @type proxy :: - {Connection.host(), pos_integer()} - | {Connection.proxy_type(), Connection.host(), pos_integer()} + @type proxy :: {Connection.proxy_type(), Connection.host(), pos_integer(), list()} @callback options(keyword(), URI.t()) :: keyword() @@ -25,7 +23,6 @@ defmodule Pleroma.HTTP.AdapterHelper do def format_proxy(proxy_url) do case parse_proxy(proxy_url) do - {:ok, host, port} -> {:http, host, port, []} {:ok, type, host, port} -> {type, host, port, []} _ -> nil end @@ -50,6 +47,13 @@ defmodule Pleroma.HTTP.AdapterHelper do |> put_in([:pools, :default, :conn_opts, :proxy], proxy) end + def add_pool_size(opts, pool_size) do + opts + |> maybe_add_pools() + |> maybe_add_default_pool() + |> put_in([:pools, :default, :size], pool_size) + end + defp maybe_add_pools(opts) do if Keyword.has_key?(opts, :pools) do opts @@ -94,11 +98,11 @@ defmodule Pleroma.HTTP.AdapterHelper do defp proxy_type(_), do: {:error, :unknown} @spec parse_proxy(String.t() | tuple() | nil) :: - {:ok, host(), pos_integer()} - | {:ok, proxy_type(), host(), pos_integer()} + {:ok, proxy_type(), host(), pos_integer()} | {:error, atom()} | nil def parse_proxy(nil), do: nil + def parse_proxy(""), do: nil def parse_proxy(proxy) when is_binary(proxy) do with %URI{} = uri <- URI.parse(proxy),