Как расширить hosts.allowed в конфиге Play Framework Hocon

Я пытаюсь расширить фильтр разрешенных хостов Play Framework.

Как описано в документации Play, вы устанавливаете фильтр следующим образом:

.hosts {
    allowed = ["localhost:8080"]
}

Hocon позволяет создавать массив путем установки переменных среды, поэтому я устанавливаю:

-Dallowed-hosts-addition.0=example.com
-Dallowed-hosts-addition.0=example.de

Но я не могу понять, как добавить allowed-hosts-addition массив к hosts.allowed в application.conf имея значение по умолчанию. Как это сделать?

Два примера того, что я пробовал до сих пор:

Опция 1

.hosts {
    allowed = ${?allowed-hosts-addition}["localhost:8080"]
}

Работает когда -Dallowed-hosts-addition.0 установлен, но не работает, если он не установлен. Ошибка: "Невозможно объединить объект или список с не объектами или списками, Quoted("") и SimpleConfigList(["localhost:8080"])) несовместимы". Хотя документация Hocon гласит, что ${?allowed-hosts-addition} должен по умолчанию использовать массив, если он является частью объединения с массивом.

Вариант 2

.hosts {
    allowed = ["localhost:8080"]
    allowed += ${?allowed-hosts-addition}
}

Работает когда -Dallowed-hosts-addition.0 не установлен, но завершается неудачно, когда он установлен. Ошибка: "play.filters.hosts.allowed имеет список типов OBJECT, а не список STRING"

0 ответов

Другие вопросы по тегам