forked from YokaiRick/akkoma
hiding raise error logic to otp_version module
This commit is contained in:
parent
28ed4b41d0
commit
24d1ac125c
2 changed files with 24 additions and 19 deletions
|
@ -42,6 +42,10 @@ def start(_type, _args) do
|
||||||
setup_instrumenters()
|
setup_instrumenters()
|
||||||
load_custom_modules()
|
load_custom_modules()
|
||||||
|
|
||||||
|
if adapter() == Tesla.Adapter.Gun do
|
||||||
|
Pleroma.OTPVersion.check!()
|
||||||
|
end
|
||||||
|
|
||||||
# Define workers and child supervisors to be supervised
|
# Define workers and child supervisors to be supervised
|
||||||
children =
|
children =
|
||||||
[
|
[
|
||||||
|
@ -66,25 +70,6 @@ def start(_type, _args) do
|
||||||
Pleroma.Gopher.Server
|
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
|
# See http://elixir-lang.org/docs/stable/elixir/Supervisor.html
|
||||||
# for other strategies and supported options
|
# for other strategies and supported options
|
||||||
opts = [strategy: :one_for_one, name: Pleroma.Supervisor]
|
opts = [strategy: :one_for_one, name: Pleroma.Supervisor]
|
||||||
|
|
|
@ -5,6 +5,26 @@
|
||||||
defmodule Pleroma.OTPVersion do
|
defmodule Pleroma.OTPVersion do
|
||||||
@type check_status() :: :ok | :undefined | {:error, String.t()}
|
@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()
|
@spec check() :: check_status()
|
||||||
def check do
|
def check do
|
||||||
# OTP Version https://erlang.org/doc/system_principles/versions.html#otp-version
|
# OTP Version https://erlang.org/doc/system_principles/versions.html#otp-version
|
||||||
|
|
Loading…
Reference in a new issue