From 26e559662d677062874afed9775f660f1f5f9c1e Mon Sep 17 00:00:00 2001 From: Francis Lavoie Date: Tue, 5 May 2020 14:29:21 -0400 Subject: httpcaddyfile: Support single-line matchers (#3263) * httpcaddyfile: Support single-line matchers * httpcaddyfile: Add single-line matcher test * httpcaddyfile: Add a matcher syntax adapt test --- caddytest/integration/caddyfile_adapt_test.go | 80 +++++++++++++++++++++++++++ 1 file changed, 80 insertions(+) (limited to 'caddytest') diff --git a/caddytest/integration/caddyfile_adapt_test.go b/caddytest/integration/caddyfile_adapt_test.go index bff325b..f6120ae 100644 --- a/caddytest/integration/caddyfile_adapt_test.go +++ b/caddytest/integration/caddyfile_adapt_test.go @@ -283,3 +283,83 @@ func TestHttpOnlyOnNonStandardPort(t *testing.T) { } }`) } + +func TestMatcherSyntax(t *testing.T) { + caddytest.AssertAdapt(t, ` + :80 { + @matcher { + method GET + } + respond @matcher "get" + + @matcher2 method POST + respond @matcher2 "post" + + @matcher3 not method PUT + respond @matcher3 "not put" + } + `, "caddyfile", `{ + "apps": { + "http": { + "servers": { + "srv0": { + "listen": [ + ":80" + ], + "routes": [ + { + "match": [ + { + "method": [ + "GET" + ] + } + ], + "handle": [ + { + "body": "get", + "handler": "static_response" + } + ] + }, + { + "match": [ + { + "method": [ + "POST" + ] + } + ], + "handle": [ + { + "body": "post", + "handler": "static_response" + } + ] + }, + { + "match": [ + { + "not": [ + { + "method": [ + "PUT" + ] + } + ] + } + ], + "handle": [ + { + "body": "not put", + "handler": "static_response" + } + ] + } + ] + } + } + } + } +}`) +} \ No newline at end of file -- cgit v1.2.3