Ver código fonte

Merge branch 'feature/useragent-override' into 'develop'

Add ability to set a custom user-agent string

See merge request pleroma/pleroma!2009
feature/user-whitelist
rinpatch 4 anos atrás
pai
commit
756bdef5f5
4 arquivos alterados com 30 adições e 3 exclusões
  1. +1
    -0
      config/config.exs
  2. +11
    -1
      docs/configuration/cheatsheet.md
  3. +8
    -2
      lib/pleroma/application.ex
  4. +10
    -0
      test/http/request_builder_test.exs

+ 1
- 0
config/config.exs Ver arquivo

@@ -209,6 +209,7 @@ config :tesla, adapter: Tesla.Adapter.Hackney
config :pleroma, :http,
proxy_url: nil,
send_user_agent: true,
user_agent: :default,
adapter: [
ssl_options: [
# Workaround for remote server certificate chain issues


+ 11
- 1
docs/configuration/cheatsheet.md Ver arquivo

@@ -348,7 +348,17 @@ Available caches:
* `:activity_pub` - activity pub routes (except question activities). Defaults to `nil` (no expiration).
* `:activity_pub_question` - activity pub routes (question activities). Defaults to `30_000` (30 seconds).

## :hackney_pools
## HTTP client

### :http

* `proxy_url`: an upstream proxy to fetch posts and/or media with, (default: `nil`)
* `send_user_agent`: should we include a user agent with HTTP requests? (default: `true`)
* `user_agent`: what user agent should we use? (default: `:default`), must be string or `:default`
* `adapter`: array of hackney options


### :hackney_pools

Advanced. Tweaks Hackney (http client) connections pools.



+ 8
- 2
lib/pleroma/application.ex Ver arquivo

@@ -17,8 +17,14 @@ defmodule Pleroma.Application do
def repository, do: @repository

def user_agent do
info = "#{Pleroma.Web.base_url()} <#{Pleroma.Config.get([:instance, :email], "")}>"
named_version() <> "; " <> info
case Pleroma.Config.get([:http, :user_agent], :default) do
:default ->
info = "#{Pleroma.Web.base_url()} <#{Pleroma.Config.get([:instance, :email], "")}>"
named_version() <> "; " <> info

custom ->
custom
end
end

# See http://elixir-lang.org/docs/stable/elixir/Application.html


+ 10
- 0
test/http/request_builder_test.exs Ver arquivo

@@ -16,11 +16,21 @@ defmodule Pleroma.HTTP.RequestBuilderTest do

test "send pleroma user agent" do
Pleroma.Config.put([:http, :send_user_agent], true)
Pleroma.Config.put([:http, :user_agent], :default)

assert RequestBuilder.headers(%{}, []) == %{
headers: [{"User-Agent", Pleroma.Application.user_agent()}]
}
end

test "send custom user agent" do
Pleroma.Config.put([:http, :send_user_agent], true)
Pleroma.Config.put([:http, :user_agent], "totally-not-pleroma")

assert RequestBuilder.headers(%{}, []) == %{
headers: [{"User-Agent", "totally-not-pleroma"}]
}
end
end

describe "add_optional_params/3" do


Carregando…
Cancelar
Salvar