customize_hostname_check: [
match_fun: :public_key.pkix_verify_hostname_match_fun(:https)
]
Хочу модуль ssl настроить полностью из конфигурационного файла.
Заранее спасибо.
Из "Эликсир в действии" Саша Юрич: Всегда помните о том, что скрипты с общими настройками (config.exs) и скрипты с настройками определенного окружения (dev.exs) выполняются перед компиляцией и запуском проекта. Это означает, что количество действий с этими скриптами сильно ограничено. Даже несмотря на то, что эти скрипты представляют собой обычный код на Elixir, в нем можно вызывать только функции стандартной библиотеки Elixir и вспомогательные функции инструмента mix (например, Mix. env/0). Нельзя использовать функции ваших модулей или код зависимостей, потому что эти модули не доступны во время выполнения скриптов.
Спасибо. Вроде :ssl не ставится как зависимость, но модуль :public_key не доступен. Или речь именно только об elixir модулях?
можно попробовать это сделать в runtime.exs, он при запуске приложения выполняется @prtngn
Такая же ситуация, не работает.
А почему не работает? Как ты это понимаешь?
Ругается на то, что нельзя ставить функцию в конфиг. Сейчас не готов показать пример (
$ iex -S mix Erlang/OTP 24 [erts-12.2] [source] [64-bit] [smp:8:8] [ds:8:8:10] [async-threads:1] [jit] Compiling 1 file (.ex) Generated anime app Interactive Elixir (1.13.3) - press Ctrl+C to exit (type h() ENTER for help) iex(1)> Application.get_env :anime, :func #Function<44.65746770/1 in :erl_eval.expr/5> iex(2)> f = Application.get_env :anime, :func #Function<44.65746770/1 in :erl_eval.expr/5> iex(3)> f.(5) 6 iex(4)> BREAK: (a)bort (A)bort with dump (c)ontinue (p)roc info (i)nfo (l)oaded (v)ersion (k)ill (D)b-tables (d)istribution a $ cat config/dev.exs import Config config :anime, :x, :y config :anime, :func, fn x -> x + 1 end
У меня всё работает
А такая функция: :public_key.pkix_verify_hostname_match_fun(:https)
Такая тоже работает. Ты скинь ошибку, мы посмотрим в чём конкретно дело
Обсуждают сегодня