文件
一個 專案

vars

設定一個或多個變數為特定值,以便稍後在請求處理鏈中使用。

存取變數的主要方式是使用佔位符,其形式為 {vars.variable_name},或使用 varsvars_regexp 請求匹配器。

您可以將變數與 templates 指令搭配使用,並使用 placeholder 函數,例如:{{placeholder "http.vars.variable_name"}}

作為一個特例,可以覆寫名為 http.auth.user.id 的變數(該變數儲存在 replacer 中),以更新 存取日誌 中的 user_id 欄位。

語法

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