diff options
Diffstat (limited to 'lib')
-rw-r--r-- | lib/pleroma/http/request_builder.ex | 22 |
1 files changed, 15 insertions, 7 deletions
diff --git a/lib/pleroma/http/request_builder.ex b/lib/pleroma/http/request_builder.ex index af679a00b..cebacd878 100644 --- a/lib/pleroma/http/request_builder.ex +++ b/lib/pleroma/http/request_builder.ex @@ -10,6 +10,8 @@ defmodule Pleroma.HTTP.RequestBuilder do alias Pleroma.HTTP.Request alias Tesla.Multipart + @mix_env Mix.env() + @doc """ Creates new request """ @@ -33,13 +35,7 @@ defmodule Pleroma.HTTP.RequestBuilder do """ @spec headers(Request.t(), Request.headers()) :: Request.t() def headers(request, headers) do - headers_list = - with nil <- Enum.find(headers, fn {key, _val} -> String.downcase(key) == "user-agent" end) do - [{"user-agent", Pleroma.Application.user_agent()} | headers] - else - _ -> - headers - end + headers_list = maybe_add_user_agent(headers, @mix_env) %{request | headers: headers_list} end @@ -91,4 +87,16 @@ defmodule Pleroma.HTTP.RequestBuilder do |> Map.from_struct() |> Enum.into([]) end + + defp maybe_add_user_agent(headers, :test) do + with true <- Pleroma.Config.get([:http, :send_user_agent]) do + [{"user-agent", Pleroma.Application.user_agent()} | headers] + else + _ -> + headers + end + end + + defp maybe_add_user_agent(headers, _), + do: [{"user-agent", Pleroma.Application.user_agent()} | headers] end |