set adapter opts in connection
This commit is contained in:
parent
6f08e77269
commit
cee945bead
@ -35,9 +35,33 @@ defmodule Pleroma.HTTP.Connection do
|
||||
adapter_options = Pleroma.Config.get([:http, :adapter], [])
|
||||
proxy_url = Pleroma.Config.get([:http, :proxy_url], nil)
|
||||
|
||||
@options
|
||||
|> Keyword.merge(adapter_options)
|
||||
|> Keyword.merge(options)
|
||||
|> Keyword.merge(proxy: proxy_url)
|
||||
options =
|
||||
@options
|
||||
|> Keyword.merge(adapter_options)
|
||||
|> Keyword.merge(options)
|
||||
|> Keyword.merge(proxy: proxy_url)
|
||||
|
||||
pool = options[:pool]
|
||||
url = options[:url]
|
||||
|
||||
if not is_nil(url) and not is_nil(pool) and Pleroma.Gun.Connections.alive?(pool) do
|
||||
get_conn_for_gun(url, options, pool)
|
||||
else
|
||||
options
|
||||
end
|
||||
end
|
||||
|
||||
defp get_conn_for_gun(url, options, pool) do
|
||||
case Pleroma.Gun.Connections.get_conn(url, options, pool) do
|
||||
nil ->
|
||||
options
|
||||
|
||||
conn ->
|
||||
%{host: host, port: port} = URI.parse(url)
|
||||
|
||||
Keyword.put(options, :conn, conn)
|
||||
|> Keyword.put(:close_conn, false)
|
||||
|> Keyword.put(:original, "#{host}:#{port}")
|
||||
end
|
||||
end
|
||||
end
|
||||
|
@ -34,11 +34,13 @@ defmodule Pleroma.HTTP do
|
||||
|
||||
adapter_gun? = Application.get_env(:tesla, :adapter) == Tesla.Adapter.Gun
|
||||
|
||||
pool = options[:adapter][:pool]
|
||||
|
||||
options =
|
||||
if adapter_gun? and not is_nil(pool) and Pleroma.Gun.Connections.alive?(pool) do
|
||||
get_conn_for_gun(url, options, pool)
|
||||
if adapter_gun? do
|
||||
adapter_opts =
|
||||
Keyword.get(options, :adapter, [])
|
||||
|> Keyword.put(:url, url)
|
||||
|
||||
Keyword.put(options, :adapter, adapter_opts)
|
||||
else
|
||||
options
|
||||
end
|
||||
@ -63,24 +65,6 @@ defmodule Pleroma.HTTP do
|
||||
end
|
||||
end
|
||||
|
||||
defp get_conn_for_gun(url, options, pool) do
|
||||
case Pleroma.Gun.Connections.get_conn(url, options, pool) do
|
||||
nil ->
|
||||
options
|
||||
|
||||
conn ->
|
||||
%{host: host, port: port} = URI.parse(url)
|
||||
|
||||
adapter_opts =
|
||||
Keyword.get(options, :adapter, [])
|
||||
|> Keyword.put(:conn, conn)
|
||||
|> Keyword.put(:close_conn, false)
|
||||
|> Keyword.put(:original, "#{host}:#{port}")
|
||||
|
||||
Keyword.put(options, :adapter, adapter_opts)
|
||||
end
|
||||
end
|
||||
|
||||
defp process_sni_options(options, nil), do: options
|
||||
|
||||
defp process_sni_options(options, url) do
|
||||
|
Loading…
Reference in New Issue
Block a user