summaryrefslogtreecommitdiff
path: root/modules/caddyhttp/fileserver
diff options
context:
space:
mode:
authorMatthew Holt <mholt@users.noreply.github.com>2022-07-28 14:50:28 -0600
committerMatthew Holt <mholt@users.noreply.github.com>2022-07-28 14:50:28 -0600
commitea8df6ff114299058593530d24fe244201525b9a (patch)
tree4c0325ace80ef739eb51642ce28ffa07ef80c9ee /modules/caddyhttp/fileserver
parentc833e3b249d98e5d234eafea714e233a213ca6c2 (diff)
caddyhttp: Use new CEL APIs (fix #4915)
Hahaha this is the ultimate "I have no idea what I'm doing" commit but it compiles and the tests pass and I declare victory! ... probably broke something, should be tested more. It is nice that the protobuf dependency becomes indirect now.
Diffstat (limited to 'modules/caddyhttp/fileserver')
-rw-r--r--modules/caddyhttp/fileserver/matcher.go12
1 files changed, 2 insertions, 10 deletions
diff --git a/modules/caddyhttp/fileserver/matcher.go b/modules/caddyhttp/fileserver/matcher.go
index 4f3ffef..7ed9343 100644
--- a/modules/caddyhttp/fileserver/matcher.go
+++ b/modules/caddyhttp/fileserver/matcher.go
@@ -27,7 +27,6 @@ import (
"github.com/caddyserver/caddy/v2/caddyconfig/caddyfile"
"github.com/caddyserver/caddy/v2/modules/caddyhttp"
"github.com/google/cel-go/cel"
- "github.com/google/cel-go/checker/decls"
"github.com/google/cel-go/common"
"github.com/google/cel-go/common/operators"
"github.com/google/cel-go/common/types/ref"
@@ -153,17 +152,10 @@ func (m *MatchFile) UnmarshalCaddyfile(d *caddyfile.Dispenser) error {
// Example:
// expression file({'root': '/srv', 'try_files': [{http.request.uri.path}, '/index.php'], 'try_policy': 'first_exist', 'split_path': ['.php']})
func (MatchFile) CELLibrary(ctx caddy.Context) (cel.Library, error) {
- requestType := decls.NewObjectType("http.Request")
+ requestType := cel.ObjectType("http.Request")
envOptions := []cel.EnvOption{
cel.Macros(parser.NewGlobalVarArgMacro("file", celFileMatcherMacroExpander())),
- cel.Declarations(
- decls.NewFunction("file",
- decls.NewOverload("file_request_map",
- []*exprpb.Type{requestType, caddyhttp.CelTypeJson},
- decls.Bool,
- ),
- ),
- ),
+ cel.Function("file", cel.Overload("file_request_map", []*cel.Type{requestType, caddyhttp.CELTypeJSON}, cel.BoolType)),
}
matcherFactory := func(data ref.Val) (caddyhttp.RequestMatcher, error) {