aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHaelwenn <contact+git.pleroma.social@hacktivis.me>2019-05-18 04:42:11 +0000
committerHaelwenn <contact+git.pleroma.social@hacktivis.me>2019-05-18 04:42:11 +0000
commitcd7a6a25d28308fba18254be357be0f6b4d888f2 (patch)
tree0431e811bdadb2e20992182e6ac61da391396ef0
parentd2dacadb6b223449d8eab3d7a32e29da9f2adde7 (diff)
parentc234ce546a769747f436c19fee99bed2a7a58f3b (diff)
downloadpleroma-cd7a6a25d28308fba18254be357be0f6b4d888f2.tar.gz
Merge branch 'feature/http-ua-header-always' into 'develop'
http: request builder: send user-agent when making requests Closes #546 See merge request pleroma/pleroma!1174
-rw-r--r--CHANGELOG.md1
-rw-r--r--config/config.exs1
-rw-r--r--config/test.exs2
-rw-r--r--lib/pleroma/http/request_builder.ex11
4 files changed, 13 insertions, 2 deletions
diff --git a/CHANGELOG.md b/CHANGELOG.md
index 12c439135..5de9ae292 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -102,6 +102,7 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/).
- Mastodon API: Correct `reblogged`, `favourited`, and `bookmarked` values in the reblog status JSON
- Mastodon API: Exposing default scope of the user to anyone
- Mastodon API: Make `irreversible` field default to `false` [`POST /api/v1/filters`]
+- User-Agent is now sent correctly for all HTTP requests.
## Removed
- Configuration: `config :pleroma, :fe` in favor of the more flexible `config :pleroma, :frontend_configurations`
diff --git a/config/config.exs b/config/config.exs
index e82f08e07..9a10b0ff7 100644
--- a/config/config.exs
+++ b/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
diff --git a/config/test.exs b/config/test.exs
index e1785d10f..6100989c4 100644
--- a/config/test.exs
+++ b/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}")
diff --git a/lib/pleroma/http/request_builder.ex b/lib/pleroma/http/request_builder.ex
index 5f2cff2c0..e23457999 100644
--- a/lib/pleroma/http/request_builder.ex
+++ b/lib/pleroma/http/request_builder.ex
@@ -45,8 +45,15 @@ defmodule Pleroma.HTTP.RequestBuilder do
Add headers to the request
"""
@spec headers(map(), list(tuple)) :: map()
- def headers(request, h) do
- Map.put_new(request, :headers, h)
+ def headers(request, header_list) do
+ 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
@doc """