aboutsummaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
Diffstat (limited to 'lib')
-rw-r--r--lib/pleroma/gun/api/mock.ex2
-rw-r--r--lib/pleroma/gun/connections.ex16
2 files changed, 11 insertions, 7 deletions
diff --git a/lib/pleroma/gun/api/mock.ex b/lib/pleroma/gun/api/mock.ex
index 3348715c4..ff9e13a74 100644
--- a/lib/pleroma/gun/api/mock.ex
+++ b/lib/pleroma/gun/api/mock.ex
@@ -13,7 +13,7 @@ defmodule Pleroma.Gun.API.Mock do
def open('some-domain.com', 443, %{genserver_pid: genserver_pid}) do
{:ok, conn_pid} = Task.start_link(fn -> Process.sleep(1_000) end)
- send(genserver_pid, {:gun_up, conn_pid, :https})
+ send(genserver_pid, {:gun_up, conn_pid, :http2})
{:ok, conn_pid}
end
diff --git a/lib/pleroma/gun/connections.ex b/lib/pleroma/gun/connections.ex
index 82579604a..6fcf4332a 100644
--- a/lib/pleroma/gun/connections.ex
+++ b/lib/pleroma/gun/connections.ex
@@ -100,8 +100,8 @@ defmodule Pleroma.Gun.Connections do
def handle_call({:state}, _from, state), do: {:reply, state, state}
@impl true
- def handle_info({:gun_up, conn_pid, protocol}, state) do
- {key, conn} = find_conn(state.conns, conn_pid, protocol)
+ def handle_info({:gun_up, conn_pid, _protocol}, state) do
+ {key, conn} = find_conn(state.conns, conn_pid)
# Send to all waiting processes connection pid
Enum.each(conn.waiting_pids, fn waiting_pid -> GenServer.reply(waiting_pid, conn_pid) end)
@@ -113,8 +113,8 @@ defmodule Pleroma.Gun.Connections do
@impl true
# Do we need to do something with killed & unprocessed references?
- def handle_info({:gun_down, conn_pid, protocol, _reason, _killed, _unprocessed}, state) do
- {key, conn} = find_conn(state.conns, conn_pid, protocol)
+ def handle_info({:gun_down, conn_pid, _protocol, _reason, _killed, _unprocessed}, state) do
+ {key, conn} = find_conn(state.conns, conn_pid)
# We don't want to block requests to GenServer if gun send down message, return nil, so we can make some retries, while connection is not up
Enum.each(conn.waiting_pids, fn waiting_pid -> GenServer.reply(waiting_pid, nil) end)
@@ -125,6 +125,10 @@ defmodule Pleroma.Gun.Connections do
defp compose_key(uri), do: uri.host <> ":" <> to_string(uri.port)
- defp find_conn(conns, conn_pid, protocol),
- do: Enum.find(conns, fn {_, conn} -> conn.conn == conn_pid and conn.protocol == protocol end)
+ defp find_conn(conns, conn_pid) do
+ Enum.find(conns, fn {key, conn} ->
+ protocol = if String.ends_with?(key, ":443"), do: :https, else: :http
+ conn.conn == conn_pid and conn.protocol == protocol
+ end)
+ end
end