vars
將一個或多個變數設定為特定值,以便在後續的請求處理鏈中使用。
存取變數的主要方式是使用佔位符,其形式為 {vars.variable_name}
,或使用 vars
和 vars_regexp
請求比對器。
語法
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"
}