docs: More changes for upcoming v2.5.0 release (#226)

This commit is contained in:
Francis Lavoie 2022-04-25 12:51:42 -04:00 committed by GitHub
parent 35a02d78d7
commit eaf0aae816
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
6 changed files with 73 additions and 8 deletions

View file

@ -0,0 +1,53 @@
---
title: vars (Caddyfile directive)
---
# vars
Sets one or more variables to a particular value, to be used later in the request handling chain.
The primary way to access variables is with placeholders, which have the form `{vars.variable_name}`, or with the [`vars`](/docs/caddyfile/matchers#vars) and [`vars_regexp`](/docs/caddyfile/matchers#vars_regexp) request matchers.
## Syntax
```caddy-d
vars [<matcher>] [<name> <value>] {
<name> <value>
...
}
```
- **&lt;name&gt;** is the variable name to set.
- **&lt;value&gt;** is the value of the variable.
The value will be type converted if possible; `true` and `false` will be converted to boolean types, and numeric values will be converted to integer or float accordingly. To avoid this conversion, you may wrap the output with [quotes](/docs/caddyfile/concepts#tokens-and-quotes) and they will stay strings.
## Examples
To set a single variable, the value being conditional based on the request path, then responding with the value:
```caddy-d
vars /foo* isFoo "yep"
vars isFoo "nope"
respond {vars.isFoo}
```
To set multiple variables, each converted to the appropriate scalar type:
```caddy-d
vars {
# boolean
abc true
# integer
def 1
# float
ghi 2.3
# string
jkl "example"
}
```