Fix supported TLS versions as TLS 1.3 support seems buggy.
[akkoma] / lib / pleroma / http / http.ex
index 32d9cf5aa7806efdcc50b08f40cb164bb6f17e18..26214ef3feca94c4af8e12b2b07c832b0a3c0c7d 100644 (file)
@@ -1,5 +1,5 @@
 # Pleroma: A lightweight social networking server
-# Copyright © 2017-2018 Pleroma Authors <https://pleroma.social/>
+# Copyright © 2017-2019 Pleroma Authors <https://pleroma.social/>
 # SPDX-License-Identifier: AGPL-3.0-only
 
 defmodule Pleroma.HTTP do
@@ -30,6 +30,9 @@ defmodule Pleroma.HTTP do
     options =
       process_request_options(options)
       |> process_sni_options(url)
+      |> process_adapter_options()
+
+    params = Keyword.get(options, :params, [])
 
     %{}
     |> Builder.method(method)
@@ -37,6 +40,7 @@ defmodule Pleroma.HTTP do
     |> Builder.opts(options)
     |> Builder.url(url)
     |> Builder.add_param(:body, :body, body)
+    |> Builder.add_param(:query, :query, params)
     |> Enum.into([])
     |> (&Tesla.request(Connection.new(), &1)).()
   end
@@ -53,10 +57,15 @@ defmodule Pleroma.HTTP do
     end
   end
 
+  def process_adapter_options(options) do
+    adapter_options = Pleroma.Config.get([:http, :adapter], [])
+
+    options ++ [adapter: adapter_options]
+  end
+
   def process_request_options(options) do
     config = Application.get_env(:pleroma, :http, [])
     proxy = Keyword.get(config, :proxy_url, nil)
-    options = options ++ [adapter: [pool: :default]]
 
     case proxy do
       nil -> options