Browse Source

config: make sending the user agent configurable, disable sending the user agent in tests

William Pitcock 1 month ago
parent
commit
290f5b2cfe
3 changed files with 10 additions and 1 deletions
  1. 1 0
      config/config.exs
  2. 2 0
      config/test.exs
  3. 7 1
      lib/pleroma/http/request_builder.ex

+ 1 - 0
config/config.exs

@@ -192,6 +192,7 @@ config :tesla, adapter: Tesla.Adapter.Hackney
 # Configures http settings, upstream proxy etc.
 config :pleroma, :http,
   proxy_url: nil,
+  send_user_agent: true,
   adapter: [
     ssl_options: [
       # We don't support TLS v1.3 yet

+ 2 - 0
config/test.exs

@@ -63,6 +63,8 @@ config :pleroma, :app_account_creation, max_requests: 5
 
 config :pleroma, :http_security, report_uri: "https://endpoint.com"
 
+config :pleroma, :http, send_user_agent: false
+
 rum_enabled = System.get_env("RUM_ENABLED") == "true"
 config :pleroma, :database, rum_enabled: rum_enabled
 IO.puts("RUM enabled: #{rum_enabled}")

+ 7 - 1
lib/pleroma/http/request_builder.ex

@@ -46,7 +46,13 @@ defmodule Pleroma.HTTP.RequestBuilder do
   """
   @spec headers(map(), list(tuple)) :: map()
   def headers(request, header_list) do
-    header_list = header_list ++ [{"User-Agent", Pleroma.Application.user_agent()}]
+    header_list =
+      if Pleroma.Config.get([:http, :send_user_agent]) do
+        header_list ++ [{"User-Agent", Pleroma.Application.user_agent()}]
+      else
+        header_list
+      end
+
     Map.put_new(request, :headers, header_list)
   end