diff options
Diffstat (limited to 'lib')
| -rw-r--r-- | lib/pleroma/application.ex | 23 | ||||
| -rw-r--r-- | lib/pleroma/otp_version.ex | 20 | 
2 files changed, 24 insertions, 19 deletions
| diff --git a/lib/pleroma/application.ex b/lib/pleroma/application.ex index 9b228d6b9..d0b9c3c41 100644 --- a/lib/pleroma/application.ex +++ b/lib/pleroma/application.ex @@ -42,6 +42,10 @@ defmodule Pleroma.Application do      setup_instrumenters()      load_custom_modules() +    if adapter() == Tesla.Adapter.Gun do +      Pleroma.OTPVersion.check!() +    end +      # Define workers and child supervisors to be supervised      children =        [ @@ -66,25 +70,6 @@ defmodule Pleroma.Application do            Pleroma.Gopher.Server          ] -    if adapter() == Tesla.Adapter.Gun do -      case Pleroma.OTPVersion.check() do -        :ok -> -          :ok - -        {:error, version} -> -          raise " -            !!!OTP VERSION WARNING!!! -            You are using gun adapter with OTP version #{version}, which doesn't support correct handling of unordered certificates chains. -            " - -        :undefined -> -          raise " -            !!!OTP VERSION WARNING!!! -            To support correct handling of unordered certificates chains - OTP version must be > 22.2. -            " -      end -    end -      # See http://elixir-lang.org/docs/stable/elixir/Supervisor.html      # for other strategies and supported options      opts = [strategy: :one_for_one, name: Pleroma.Supervisor] diff --git a/lib/pleroma/otp_version.ex b/lib/pleroma/otp_version.ex index 54ceaff47..9ced2d27d 100644 --- a/lib/pleroma/otp_version.ex +++ b/lib/pleroma/otp_version.ex @@ -5,6 +5,26 @@  defmodule Pleroma.OTPVersion do    @type check_status() :: :ok | :undefined | {:error, String.t()} +  @spec check!() :: :ok | no_return() +  def check! do +    case check() do +      :ok -> +        :ok + +      {:error, version} -> +        raise " +            !!!OTP VERSION WARNING!!! +            You are using gun adapter with OTP version #{version}, which doesn't support correct handling of unordered certificates chains. +            " + +      :undefined -> +        raise " +            !!!OTP VERSION WARNING!!! +            To support correct handling of unordered certificates chains - OTP version must be > 22.2. +            " +    end +  end +    @spec check() :: check_status()    def check do      # OTP Version https://erlang.org/doc/system_principles/versions.html#otp-version | 
