文档
一个 项目

vars

将一个或多个变量设置为特定值,以便在请求处理链中稍后使用。

访问变量的主要方式是使用占位符,占位符的格式为 {vars.variable_name},或者使用 varsvars_regexp 请求匹配器。

语法

vars [<matcher>] [<name> <value>] {
    <name> <value>
    ...
}
  • <name> 是要设置的变量名。

  • <value> 是变量的值。

    如果可能,该值将被类型转换;truefalse 将被转换为布尔类型,数值将被相应地转换为整数或浮点数。为了避免这种转换,您可以用 引号 包裹输出,它们将保持字符串类型。

示例

要设置单个变量,该变量的值基于请求路径,然后响应该值

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"
}