summaryrefslogtreecommitdiff
path: root/lib/pleroma/http/request_builder.ex
diff options
context:
space:
mode:
Diffstat (limited to 'lib/pleroma/http/request_builder.ex')
-rw-r--r--lib/pleroma/http/request_builder.ex22
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