diff --git a/lib/service/http/activity_pub.ex b/lib/service/http/activity_pub.ex index ee5b21630..db9683d9b 100644 --- a/lib/service/http/activity_pub.ex +++ b/lib/service/http/activity_pub.ex @@ -5,28 +5,26 @@ defmodule Mobilizon.Service.HTTP.ActivityPub do alias Mobilizon.Config - @adapter Application.get_env(:tesla, __MODULE__, [])[:adapter] || Tesla.Adapter.Hackney @default_opts [ recv_timeout: 20_000 ] - @user_agent Config.instance_user_agent() def client(options \\ []) do headers = Keyword.get(options, :headers, []) + adapter = Application.get_env(:tesla, __MODULE__, [])[:adapter] || Tesla.Adapter.Hackney opts = Keyword.merge(@default_opts, Keyword.get(options, :opts, [])) middleware = [ {Tesla.Middleware.Headers, - [{"User-Agent", @user_agent}, {"Accept", "application/activity+json"}] ++ headers}, + [{"User-Agent", Config.instance_user_agent()}, {"Accept", "application/activity+json"}] ++ + headers}, Tesla.Middleware.FollowRedirects, {Tesla.Middleware.Timeout, timeout: 10_000}, {Tesla.Middleware.JSON, decode_content_types: ["application/activity+json", "application/ld+json"]} ] - adapter = {@adapter, opts} - - Tesla.client(middleware, adapter) + Tesla.client(middleware, {adapter, opts}) end def get(client, url) do diff --git a/lib/service/http/geospatial_client.ex b/lib/service/http/geospatial_client.ex index 1b578c9de..064fee4c4 100644 --- a/lib/service/http/geospatial_client.ex +++ b/lib/service/http/geospatial_client.ex @@ -13,13 +13,11 @@ defmodule Mobilizon.Service.HTTP.GeospatialClient do adapter(Tesla.Adapter.Hackney, @default_opts) - @user_agent Config.instance_user_agent() - plug(Tesla.Middleware.FollowRedirects) plug(Tesla.Middleware.Timeout, timeout: 10_000) - plug(Tesla.Middleware.Headers, [{"User-Agent", @user_agent}]) + plug(Tesla.Middleware.Headers, [{"User-Agent", Config.instance_user_agent()}]) plug(Tesla.Middleware.JSON) end diff --git a/lib/service/http/remote_media_downloader_client.ex b/lib/service/http/remote_media_downloader_client.ex index 06af2bf9d..f8be88793 100644 --- a/lib/service/http/remote_media_downloader_client.ex +++ b/lib/service/http/remote_media_downloader_client.ex @@ -12,11 +12,9 @@ defmodule Mobilizon.Service.HTTP.RemoteMediaDownloaderClient do adapter(Tesla.Adapter.Hackney, @default_opts) - @user_agent Config.instance_user_agent() - plug(Tesla.Middleware.FollowRedirects) plug(Tesla.Middleware.Timeout, timeout: 10_000) - plug(Tesla.Middleware.Headers, [{"User-Agent", @user_agent}]) + plug(Tesla.Middleware.Headers, [{"User-Agent", Config.instance_user_agent()}]) end diff --git a/lib/service/http/rich_media_preview_client.ex b/lib/service/http/rich_media_preview_client.ex index 8f3983548..520839241 100644 --- a/lib/service/http/rich_media_preview_client.ex +++ b/lib/service/http/rich_media_preview_client.ex @@ -12,11 +12,9 @@ defmodule Mobilizon.Service.HTTP.RichMediaPreviewClient do adapter(Tesla.Adapter.Hackney, @default_opts) - @user_agent Config.instance_user_agent() - plug(Tesla.Middleware.FollowRedirects) plug(Tesla.Middleware.Timeout, timeout: 10_000) - plug(Tesla.Middleware.Headers, [{"User-Agent", @user_agent}]) + plug(Tesla.Middleware.Headers, [{"User-Agent", Config.instance_user_agent()}]) end diff --git a/lib/service/http/webfinger_client.ex b/lib/service/http/webfinger_client.ex index 13b578a0d..d5c02e357 100644 --- a/lib/service/http/webfinger_client.ex +++ b/lib/service/http/webfinger_client.ex @@ -13,14 +13,12 @@ defmodule Mobilizon.Service.HTTP.WebfingerClient do adapter(Tesla.Adapter.Hackney, @default_opts) - @user_agent Config.instance_user_agent() - plug(Tesla.Middleware.FollowRedirects) plug(Tesla.Middleware.Timeout, timeout: 10_000) plug(Tesla.Middleware.Headers, [ - {"User-Agent", @user_agent}, + {"User-Agent", Config.instance_user_agent()}, {"Accept", "application/json, application/activity+json, application/jrd+json"} ])