caddy-website/src/docs/markdown/caddyfile/directives/import.md

41 lines
1.3 KiB
Markdown
Raw Normal View History

---
title: import (Caddyfile directive)
---
# import
Includes a [snippet](/docs/caddyfile/concepts#snippets) or file, replacing this directive with the contents of the snippet or file.
This directive is a special case: it is evaluated before the structure is parsed, and it can appear anywhere in the Caddyfile.
## Syntax
```caddy-d
2020-06-08 16:32:57 -06:00
import <pattern> [<args...>]
```
- **&lt;pattern&gt;** is the filename, glob pattern, or name of [snippet](/docs/caddyfile/concepts#snippets) to include. Its contents will replace this line as if that file's contents appeared here to begin with. It is an error if a specific file cannot be found, but an empty glob pattern is not an error.
2020-06-08 16:32:57 -06:00
- **&lt;args...&gt;** is an optional list of arguments to pass to the imported tokens. They can be used with a placeholder of the form `{args.N}` where `N` is the 0-based positional index of the parameter. This placeholder is a special case and is evaluated at parse-time, not run-time.
## Examples
Import all files in an adjacent sites-enabled folder:
```caddy-d
import sites-enabled/*
```
2020-06-08 16:32:57 -06:00
Import a snippet that sets CORS headers using an import argument:
```caddy
(cors) {
@origin header Origin {args.0}
header @origin Access-Control-Allow-Origin "{args.0}"
header @origin Access-Control-Request-Method GET
}
example.com {
import cors example.com
}
```