projects
/
akkoma
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Merge branch 'following-relationships-optimizations' into 'develop'
[akkoma]
/
lib
/
pleroma
/
http
/
adapter_helper
/
gun.ex
diff --git
a/lib/pleroma/http/adapter_helper/gun.ex
b/lib/pleroma/http/adapter_helper/gun.ex
index 55c2b192aecf451010a29f7802ab555715543428..ead7cdc6bba7297f1b6ceaa1faf4a6687e48c979 100644
(file)
--- a/
lib/pleroma/http/adapter_helper/gun.ex
+++ b/
lib/pleroma/http/adapter_helper/gun.ex
@@
-20,9
+20,9
@@
defmodule Pleroma.HTTP.AdapterHelper.Gun do
]
@spec options(keyword(), URI.t()) :: keyword()
]
@spec options(keyword(), URI.t()) :: keyword()
- def options(
connection
_opts \\ [], %URI{} = uri) do
-
formatted_
proxy =
- Pleroma.Config.get([:http, :proxy_url]
, nil
)
+ def options(
incoming
_opts \\ [], %URI{} = uri) do
+ proxy =
+ Pleroma.Config.get([:http, :proxy_url])
|> AdapterHelper.format_proxy()
config_opts = Pleroma.Config.get([:http, :adapter], [])
|> AdapterHelper.format_proxy()
config_opts = Pleroma.Config.get([:http, :adapter], [])
@@
-30,8
+30,8
@@
defmodule Pleroma.HTTP.AdapterHelper.Gun do
@defaults
|> Keyword.merge(config_opts)
|> add_scheme_opts(uri)
@defaults
|> Keyword.merge(config_opts)
|> add_scheme_opts(uri)
- |> AdapterHelper.maybe_add_proxy(
formatted_
proxy)
- |> maybe_get_conn(uri,
connection
_opts)
+ |> AdapterHelper.maybe_add_proxy(proxy)
+ |> maybe_get_conn(uri,
incoming
_opts)
end
@spec after_request(keyword()) :: :ok
end
@spec after_request(keyword()) :: :ok
@@
-43,44
+43,35
@@
defmodule Pleroma.HTTP.AdapterHelper.Gun do
:ok
end
:ok
end
- defp add_scheme_opts(opts, %
URI
{scheme: "http"}), do: opts
+ defp add_scheme_opts(opts, %{scheme: "http"}), do: opts
- defp add_scheme_opts(opts, %
URI
{scheme: "https"}) do
+ defp add_scheme_opts(opts, %{scheme: "https"}) do
opts
|> Keyword.put(:certificates_verification, true)
opts
|> Keyword.put(:certificates_verification, true)
- |> Keyword.put(:transport, :tls)
|> Keyword.put(:tls_opts, log_level: :warning)
end
|> Keyword.put(:tls_opts, log_level: :warning)
end
- defp maybe_get_conn(adapter_opts, uri,
connection
_opts) do
+ defp maybe_get_conn(adapter_opts, uri,
incoming
_opts) do
{receive_conn?, opts} =
adapter_opts
{receive_conn?, opts} =
adapter_opts
- |> Keyword.merge(
connection
_opts)
+ |> Keyword.merge(
incoming
_opts)
|> Keyword.pop(:receive_conn, true)
if Connections.alive?(:gun_connections) and receive_conn? do
|> Keyword.pop(:receive_conn, true)
if Connections.alive?(:gun_connections) and receive_conn? do
-
try_to_get
_conn(uri, opts)
+
checkin
_conn(uri, opts)
else
opts
end
end
else
opts
end
end
- defp
try_to_get
_conn(uri, opts) do
+ defp
checkin
_conn(uri, opts) do
case Connections.checkin(uri, :gun_connections) do
nil ->
case Connections.checkin(uri, :gun_connections) do
nil ->
- Logger.debug(
- "Gun connections pool checkin was not successful. Trying to open conn for next request."
- )
-
- Task.start(fn -> Pleroma.Gun.Conn.open(uri, :gun_connections, opts) end)
+ Task.start(Pleroma.Gun.Conn, :open, [uri, :gun_connections, opts])
opts
conn when is_pid(conn) ->
opts
conn when is_pid(conn) ->
- Logger.debug("received conn #{inspect(conn)} #{Connections.compose_uri_log(uri)}")
-
- opts
- |> Keyword.put(:conn, conn)
- |> Keyword.put(:close_conn, false)
+ Keyword.merge(opts, conn: conn, close_conn: false)
end
end
end
end
end
end