removing unnecessary with
authorAlexander Strizhakov <alex.strizhakov@gmail.com>
Tue, 3 Mar 2020 11:56:49 +0000 (14:56 +0300)
committerAlexander Strizhakov <alex.strizhakov@gmail.com>
Tue, 3 Mar 2020 11:56:49 +0000 (14:56 +0300)
comment in tesla client impovement

lib/pleroma/pool/connections.ex
lib/pleroma/reverse_proxy/client/tesla.ex

index 05fa8f7adeaf9f3ab3b4c001e81a35b96b59400a..bde3ffd137c0fc2ba0bdc36c175b7a27040ad7ff 100644 (file)
@@ -36,17 +36,16 @@ defmodule Pleroma.Pool.Connections do
   def checkin(%URI{} = uri, name) do
     timeout = Config.get([:connections_pool, :checkin_timeout], 250)
 
-    GenServer.call(
-      name,
-      {:checkin, uri},
-      timeout
-    )
+    GenServer.call(name, {:checkin, uri}, timeout)
   end
 
   @spec alive?(atom()) :: boolean()
   def alive?(name) do
-    pid = Process.whereis(name)
-    if pid, do: Process.alive?(pid), else: false
+    if pid = Process.whereis(name) do
+      Process.alive?(pid)
+    else
+      false
+    end
   end
 
   @spec get_state(atom()) :: t()
@@ -131,19 +130,20 @@ defmodule Pleroma.Pool.Connections do
       %{conn: conn, gun_state: :up} = current_conn ->
         Logger.debug("reusing conn #{key}")
 
-        with time <- :os.system_time(:second),
-             last_reference <- time - current_conn.last_reference,
-             current_crf <- crf(last_reference, 100, current_conn.crf),
-             state <-
-               put_in(state.conns[key], %{
-                 current_conn
-                 | last_reference: time,
-                   crf: current_crf,
-                   conn_state: :active,
-                   used_by: [from | current_conn.used_by]
-               }) do
-          {:reply, conn, state}
-        end
+        time = :os.system_time(:second)
+        last_reference = time - current_conn.last_reference
+        current_crf = crf(last_reference, 100, current_conn.crf)
+
+        state =
+          put_in(state.conns[key], %{
+            current_conn
+            | last_reference: time,
+              crf: current_crf,
+              conn_state: :active,
+              used_by: [from | current_conn.used_by]
+          })
+
+        {:reply, conn, state}
 
       %{gun_state: :down} ->
         {:reply, nil, state}
index 498a905e1f674590e9634395ad719ec5fd842109..80a0c897284688cb79d20a2be9f793028c275810 100644 (file)
@@ -18,8 +18,9 @@ defmodule Pleroma.ReverseProxy.Client.Tesla do
   def request(method, url, headers, body, opts \\ []) do
     check_adapter()
 
-    with opts <- Keyword.merge(opts, body_as: :chunks, mode: :passive),
-         {:ok, response} <-
+    opts = Keyword.merge(opts, body_as: :chunks)
+
+    with {:ok, response} <-
            Pleroma.HTTP.request(
              method,
              url,
@@ -40,7 +41,8 @@ defmodule Pleroma.ReverseProxy.Client.Tesla do
   @impl true
   @spec stream_body(map()) :: {:ok, binary(), map()} | {:error, atom() | String.t()} | :done
   def stream_body(%{pid: pid, opts: opts, fin: true}) do
-    # if connection was sended and there were redirects, we need to close new conn - pid manually
+    # if connection was reused, but in tesla were redirects,
+    # tesla returns new opened connection, which must be closed manually
     if opts[:old_conn], do: Tesla.Adapter.Gun.close(pid)
     # if there were redirects we need to checkout old conn
     conn = opts[:old_conn] || opts[:conn]