Spec-Zone.ru › Caddy

Переменные

Устанавливает одну или несколько переменных со значением, которое будет использоваться позже в цепочке обработки запроса.

Основной способ доступа к переменным — использование плейсхолдеров, имеющих вид {vars.variable_name}, или с помощью матчеров запроса vars и vars_regexp.

Переменные можно использовать с директивой templates с помощью функции placeholder, например: {{placeholder "http.vars.variable_name"}}

В качестве специального случая, можно переопределить переменную с именем http.auth.user.id, которая хранится в заменятеле, для обновления поля user_id в журналах доступа.

Синтаксис

vars [<matcher>] [<name> <value>] {
    <name> <value>
    ...
}
  • <name> — имя переменной, которое нужно установить.

  • <value> — значение переменной.

    Значение будет преобразовано к соответствующему типу, если это возможно; true и false будут преобразованы в булевы типы, а числовые значения будут преобразованы в целые или вещественные числа соответственно. Чтобы избежать этого преобразования и сохранить их как строки, можно обернуть их в кавычки.

Примеры

Чтобы установить одну переменную, значение которой зависит от пути запроса, а затем вывести это значение:

example.com {
	vars /foo* isFoo "yep"
	vars isFoo "nope"
	respond {vars.isFoo}
}

Чтобы установить несколько переменных, каждая из которых преобразуется в соответствующий скалярный тип:

vars {	# boolean
	abc true	# integer
	def 1	# float
	ghi 2.3	# string
	jkl "example"
}

© 2015-2025 Matthew Holt and The Caddy Authors
Licensed under the Apache License 2.0.
Caddy is a registered trademark of Stack Holdings GmbH.
https://caddyserver.com/docs/caddyfile/directives/vars

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API