summaryrefslogtreecommitdiff
path: root/caddytest/integration/caddyfile_adapt/map_and_vars_with_raw_types.txt
blob: af9faf47fc838729b518941ef9fe54834608d8df (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
example.com

map {host}             {my_placeholder}  {magic_number} {
	# Should output boolean "true" and an integer
	example.com        true              3

	# Should output a string and null
	foo.example.com    "string value"

	# Should output two strings (quoted int)
	(.*)\.example.com  "${1} subdomain"  "5"

	# Should output null and a string (quoted int)
	~.*\.net$          -                 `7`

	# Should output a float and the string "false"
	~.*\.xyz$          123.456           "false"

	# Should output two strings, second being escaped quote
	default            "unknown domain"  \"""
}

vars foo bar
vars {
	abc true
	def 1
	ghi 2.3
	jkl "mn op"
}
----------
{
	"apps": {
		"http": {
			"servers": {
				"srv0": {
					"listen": [
						":443"
					],
					"routes": [
						{
							"match": [
								{
									"host": [
										"example.com"
									]
								}
							],
							"handle": [
								{
									"handler": "subroute",
									"routes": [
										{
											"handle": [
												{
													"defaults": [
														"unknown domain",
														"\""
													],
													"destinations": [
														"{my_placeholder}",
														"{magic_number}"
													],
													"handler": "map",
													"mappings": [
														{
															"input": "example.com",
															"outputs": [
																true,
																3
															]
														},
														{
															"input": "foo.example.com",
															"outputs": [
																"string value",
																null
															]
														},
														{
															"input": "(.*)\\.example.com",
															"outputs": [
																"${1} subdomain",
																"5"
															]
														},
														{
															"input_regexp": ".*\\.net$",
															"outputs": [
																null,
																"7"
															]
														},
														{
															"input_regexp": ".*\\.xyz$",
															"outputs": [
																123.456,
																"false"
															]
														}
													],
													"source": "{http.request.host}"
												},
												{
													"foo": "bar",
													"handler": "vars"
												},
												{
													"abc": true,
													"def": 1,
													"ghi": 2.3,
													"handler": "vars",
													"jkl": "mn op"
												}
											]
										}
									]
								}
							],
							"terminal": true
						}
					]
				}
			}
		}
	}
}