From bbbaa81a6e72af53ce20bfff31ada38fac9da3b8 Mon Sep 17 00:00:00 2001 From: Thomas Citharel Date: Wed, 21 Sep 2022 08:53:50 +0200 Subject: [PATCH] Fix depreciated calls of fetch_env!/2 and get_env/2 Signed-off-by: Thomas Citharel --- lib/federation/activity_pub/federator.ex | 2 +- lib/federation/web_finger/web_finger.ex | 7 ++++-- lib/mix/tasks/mobilizon/common.ex | 4 ++-- lib/mobilizon.ex | 2 +- lib/mobilizon/cldr.ex | 8 +++++-- lib/service/activity/utils.ex | 2 +- lib/web/controllers/auth_controller.ex | 8 ++++--- lib/web/endpoint.ex | 27 +++++++++++++++--------- lib/web/proxy/reverse_proxy.ex | 10 +++++---- lib/web/router.ex | 2 +- 10 files changed, 45 insertions(+), 27 deletions(-) diff --git a/lib/federation/activity_pub/federator.ex b/lib/federation/activity_pub/federator.ex index ac145afff..4bba2022b 100644 --- a/lib/federation/activity_pub/federator.ex +++ b/lib/federation/activity_pub/federator.ex @@ -83,7 +83,7 @@ defmodule Mobilizon.Federation.ActivityPub.Federator do def enqueue(type, payload, priority \\ 1) do Logger.debug("enqueue something with type #{inspect(type)}") - if Application.fetch_env!(:mobilizon, :env) == :test do + if Application.compile_env(:mobilizon, :env) == :test do handle(type, payload) else GenServer.cast(__MODULE__, {:enqueue, type, payload, priority}) diff --git a/lib/federation/web_finger/web_finger.ex b/lib/federation/web_finger/web_finger.ex index fd71142bc..adeec633a 100644 --- a/lib/federation/web_finger/web_finger.ex +++ b/lib/federation/web_finger/web_finger.ex @@ -205,7 +205,7 @@ defmodule Mobilizon.Federation.WebFinger do {:ok, String.t()} | {:error, :link_not_found} | {:error, any()} defp find_webfinger_endpoint(domain) when is_binary(domain) do Logger.debug("Calling HostMetaClient for #{domain}") - prefix = if Application.fetch_env!(:mobilizon, :env) !== :dev, do: "https", else: "http" + prefix = if Application.compile_env(:mobilizon, :env) !== :dev, do: "https", else: "http" with {:ok, %Tesla.Env{status: 200, body: body}} <- HostMetaClient.get("#{prefix}://#{domain}/.well-known/host-meta"), @@ -229,7 +229,10 @@ defmodule Mobilizon.Federation.WebFinger do _ -> Logger.debug("Using default webfinger location") - prefix = if Application.fetch_env!(:mobilizon, :env) !== :dev, do: "https", else: "http" + + prefix = + if Application.compile_env(:mobilizon, :env) !== :dev, do: "https", else: "http" + "#{prefix}://#{domain}/.well-known/webfinger?resource=acct:#{actor}" end end diff --git a/lib/mix/tasks/mobilizon/common.ex b/lib/mix/tasks/mobilizon/common.ex index eb7181863..3a16c80b1 100644 --- a/lib/mix/tasks/mobilizon/common.ex +++ b/lib/mix/tasks/mobilizon/common.ex @@ -13,7 +13,7 @@ defmodule Mix.Tasks.Mobilizon.Common do def start_mobilizon do if mix_task?(), do: Mix.Task.run("app.config") - unless System.get_env("DEBUG") || Application.fetch_env!(:mobilizon, :env) == :test do + unless System.get_env("DEBUG") || Application.compile_env(:mobilizon, :env) == :test do Logger.configure(level: :error) end @@ -73,7 +73,7 @@ defmodule Mix.Tasks.Mobilizon.Common do IO.puts(:stderr, message) end - if Application.fetch_env!(:mobilizon, :env) != :test do + if Application.compile_env(:mobilizon, :env) != :test do exit({:shutdown, Keyword.get(options, :error_code, 1)}) end end diff --git a/lib/mobilizon.ex b/lib/mobilizon.ex index f200c5254..c26cd3d4e 100644 --- a/lib/mobilizon.ex +++ b/lib/mobilizon.ex @@ -21,7 +21,7 @@ defmodule Mobilizon do @name Mix.Project.config()[:name] @version Mix.Project.config()[:version] - @env Application.fetch_env!(:mobilizon, :env) + @env Application.compile_env(:mobilizon, :env) @spec named_version :: String.t() def named_version, do: "#{@name} #{@version}" diff --git a/lib/mobilizon/cldr.ex b/lib/mobilizon/cldr.ex index 5577bfb79..a84a68c55 100644 --- a/lib/mobilizon/cldr.ex +++ b/lib/mobilizon/cldr.ex @@ -4,10 +4,10 @@ defmodule Mobilizon.Cldr do """ use Cldr, - locales: Application.get_env(:mobilizon, :cldr)[:locales], + locales: locales(), add_fallback_locales: true, gettext: - if(Application.fetch_env!(:mobilizon, :env) == :prod, + if(Application.compile_env(:mobilizon, :env) == :prod, do: Mobilizon.Web.Gettext, else: nil ), @@ -27,4 +27,8 @@ defmodule Mobilizon.Cldr do default end end + + defp locales do + Application.get_env(:mobilizon, :cldr)[:locales] + end end diff --git a/lib/service/activity/utils.ex b/lib/service/activity/utils.ex index ecfd33b69..d4939cbfc 100644 --- a/lib/service/activity/utils.ex +++ b/lib/service/activity/utils.ex @@ -30,7 +30,7 @@ defmodule Mobilizon.Service.Activity.Utils do @spec maybe_inserted_at :: map() def maybe_inserted_at do - if Application.fetch_env!(:mobilizon, :env) == :test do + if Application.compile_env(:mobilizon, :env) == :test do %{} else %{"inserted_at" => DateTime.utc_now()} diff --git a/lib/web/controllers/auth_controller.ex b/lib/web/controllers/auth_controller.ex index 014a112b7..1e1903f4f 100644 --- a/lib/web/controllers/auth_controller.ex +++ b/lib/web/controllers/auth_controller.ex @@ -8,12 +8,10 @@ defmodule Mobilizon.Web.AuthController do require Logger plug(:put_layout, false) - config = Application.get_env(:mobilizon, Mobilizon.Web.Endpoint, []) - plug(Plug.Session, store: :cookie, key: "_auth_callback", - signing_salt: Keyword.get(config, :secret_key_base) + signing_salt: Keyword.get(endpoint_config, :secret_key_base) ) plug(Ueberauth) @@ -142,4 +140,8 @@ defmodule Mobilizon.Web.AuthController do defp redirect_to_error(conn, :unknown_error, provider_name) do redirect(conn, to: "/login?code=Error with Login Provider&provider=#{provider_name}") end + + defp endpoint_config do + Application.get_env(:mobilizon, Mobilizon.Web.Endpoint, []) + end end diff --git a/lib/web/endpoint.ex b/lib/web/endpoint.ex index fe82f4e58..4612d9607 100644 --- a/lib/web/endpoint.ex +++ b/lib/web/endpoint.ex @@ -3,8 +3,7 @@ defmodule Mobilizon.Web.Endpoint do Endpoint for Mobilizon app """ - if Application.fetch_env!(:mobilizon, :env) !== :test && - Application.get_env(:sentry, :dsn) != nil do + if Application.compile_env(:mobilizon, :env) !== :test && sentry_dsn_config() != nil do use Sentry.PlugCapture end @@ -13,7 +12,7 @@ defmodule Mobilizon.Web.Endpoint do plug(Mobilizon.Web.Plugs.DetectLocalePlug) - if Application.fetch_env!(:mobilizon, :env) !== :dev do + if Application.compile_env(:mobilizon, :env) !== :dev do plug(Mobilizon.Web.Plugs.HTTPSecurityPlug) end @@ -31,9 +30,7 @@ defmodule Mobilizon.Web.Endpoint do longpoll: false ) - endpoint_config = Application.get_env(:mobilizon, Mobilizon.Web.Endpoint) - - if Keyword.get(endpoint_config, :has_reverse_proxy, false) == true do + if Keyword.get(endpoint_config(), :has_reverse_proxy, false) == true do plug(RemoteIp) end @@ -64,8 +61,7 @@ defmodule Mobilizon.Web.Endpoint do plug(Plug.RequestId) plug(Plug.Logger) - upload_limit = - Keyword.get(Application.get_env(:mobilizon, :instance, []), :upload_limit, 10_485_760) + upload_limit = Keyword.get(instance_config(), :upload_limit, 10_485_760) plug( Plug.Parsers, @@ -83,8 +79,19 @@ defmodule Mobilizon.Web.Endpoint do String.replace_leading(url(), "http", "ws") end - if Application.fetch_env!(:mobilizon, :env) !== :test && - Application.get_env(:sentry, :dsn) != nil do + defp sentry_dsn_config do + Application.get_env(:sentry, :dsn) + end + + defp endpoint_config do + Application.get_env(:mobilizon, Mobilizon.Web.Endpoint) + end + + defp instance_config do + Application.get_env(:mobilizon, :instance, []) + end + + if Application.compile_env(:mobilizon, :env) !== :test && sentry_dsn_config() != nil do plug(Sentry.PlugContext) end end diff --git a/lib/web/proxy/reverse_proxy.ex b/lib/web/proxy/reverse_proxy.ex index 7f6bde749..940ae9e16 100644 --- a/lib/web/proxy/reverse_proxy.ex +++ b/lib/web/proxy/reverse_proxy.ex @@ -83,8 +83,6 @@ defmodule Mobilizon.Web.ReverseProxy do | {:inline_content_types, boolean | [String.t()]} | {:redirect_on_failure, boolean} - @hackney Application.get_env(:mobilizon, :hackney, :hackney) - @default_hackney_options [] @inline_content_types [ @@ -171,7 +169,7 @@ defmodule Mobilizon.Web.ReverseProxy do Logger.debug("#{__MODULE__} #{method} #{url} #{inspect(headers)}") method = method |> String.downcase() |> String.to_existing_atom() - case @hackney.request(method, url, headers, "", hackney_opts) do + case hackney().request(method, url, headers, "", hackney_opts) do {:ok, code, headers, client} when code in @valid_resp_codes -> {:ok, code, downcase_headers(headers), client} @@ -231,7 +229,7 @@ defmodule Mobilizon.Web.ReverseProxy do duration, Keyword.get(opts, :max_read_duration, @max_read_duration) ), - {:ok, data} <- @hackney.stream_body(client), + {:ok, data} <- hackney().stream_body(client), {:ok, duration} <- increase_read_duration({duration, now}), sent_so_far = sent_so_far + byte_size(data), :ok <- body_size_constraint(sent_so_far, Keyword.get(opts, :max_body_size)), @@ -452,4 +450,8 @@ defmodule Mobilizon.Web.ReverseProxy do uri = URI.parse(url) uri.scheme != nil && uri.host =~ "." end + + defp hackney do + Application.get_env(:mobilizon, :hackney, :hackney) + end end diff --git a/lib/web/router.ex b/lib/web/router.ex index a7e400160..0ec8c53c2 100644 --- a/lib/web/router.ex +++ b/lib/web/router.ex @@ -212,7 +212,7 @@ defmodule Mobilizon.Web.Router do get("/:sig/:url/:filename", MediaProxyController, :remote) end - if Application.fetch_env!(:mobilizon, :env) in [:dev, :e2e] do + if Application.compile_env(:mobilizon, :env) in [:dev, :e2e] do # If using Phoenix forward("/sent_emails", Plug.Swoosh.MailboxPreview) end