little refactor
authorAlexander Strizhakov <alex.strizhakov@gmail.com>
Fri, 6 Mar 2020 18:04:18 +0000 (21:04 +0300)
committerAlexander Strizhakov <alex.strizhakov@gmail.com>
Fri, 6 Mar 2020 18:04:18 +0000 (21:04 +0300)
lib/pleroma/gun/gun.ex
lib/pleroma/http/adapter_helper/gun.ex

index 81855e89ee69ee005484436b9c3f128f89d148fb..4043e488047a0716db3fa6f1b2250e529fe30106 100644 (file)
@@ -11,6 +11,10 @@ defmodule Pleroma.Gun do
   @callback await(pid(), reference()) :: {:response, :fin, 200, []}
   @callback set_owner(pid(), pid()) :: :ok
 
+  @api Pleroma.Config.get([Pleroma.Gun], Pleroma.Gun.API)
+
+  defp api, do: @api
+
   def open(host, port, opts), do: api().open(host, port, opts)
 
   def info(pid), do: api().info(pid)
@@ -24,6 +28,4 @@ defmodule Pleroma.Gun do
   def await(pid, ref), do: api().await(pid, ref)
 
   def set_owner(pid, owner), do: api().set_owner(pid, owner)
-
-  defp api, do: Pleroma.Config.get([Pleroma.Gun], Pleroma.Gun.API)
 end
index 5d5870d90200f5cbd5d48b4934a89c9802e0d170..9b03f465304464cf06bd13055556411c2a8755e5 100644 (file)
@@ -5,10 +5,9 @@
 defmodule Pleroma.HTTP.AdapterHelper.Gun do
   @behaviour Pleroma.HTTP.AdapterHelper
 
-  alias Pleroma.HTTP.AdapterHelper
-
   require Logger
 
+  alias Pleroma.HTTP.AdapterHelper
   alias Pleroma.Pool.Connections
 
   @defaults [
@@ -22,20 +21,23 @@ defmodule Pleroma.HTTP.AdapterHelper.Gun do
 
   @spec options(keyword(), URI.t()) :: keyword()
   def options(connection_opts \\ [], %URI{} = uri) do
-    proxy = Pleroma.Config.get([:http, :proxy_url], nil)
+    formatted_proxy =
+      Pleroma.Config.get([:http, :proxy_url], nil)
+      |> AdapterHelper.format_proxy()
+
+    config_opts = Pleroma.Config.get([:http, :adapter], [])
 
     @defaults
-    |> Keyword.merge(Pleroma.Config.get([:http, :adapter], []))
+    |> Keyword.merge(config_opts)
     |> add_scheme_opts(uri)
-    |> AdapterHelper.maybe_add_proxy(AdapterHelper.format_proxy(proxy))
+    |> AdapterHelper.maybe_add_proxy(formatted_proxy)
     |> maybe_get_conn(uri, connection_opts)
   end
 
   @spec after_request(keyword()) :: :ok
   def after_request(opts) do
-    with conn when not is_nil(conn) <- opts[:conn],
-         body_as when body_as != :chunks <- opts[:body_as] do
-      Connections.checkout(conn, self(), :gun_connections)
+    if opts[:conn] && opts[:body_as] != :chunks do
+      Connections.checkout(opts[:conn], self(), :gun_connections)
     end
 
     :ok