From ad7fbaae7a2001502582e6daa27eaffad8a3c447 Mon Sep 17 00:00:00 2001 From: tjpcc Date: Wed, 18 Oct 2023 12:49:14 -0600 Subject: fix Modifiers.Empty() and "git with templates" --- parse.go | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) (limited to 'parse.go') diff --git a/parse.go b/parse.go index 886aa2d..e1b375f 100644 --- a/parse.go +++ b/parse.go @@ -265,9 +265,18 @@ func parseServerDirectives(server *Server, buf *bufio.Reader) error { return nil } +func emptyExceptTemplates(mods *Modifiers) bool { + if mods == nil { + return true + } + cpy := *mods + cpy.Templates = nil + return cpy.Empty() +} + func validateRoute(serverType string, dir *RouteDirective) error { - if dir.Type == "git" && !dir.Modifiers.Empty() { - return errors.New("git directives don't support 'with' modifiers") + if dir.Type == "git" && !emptyExceptTemplates(&dir.Modifiers) { + return errors.New("unsupported 'with' modifier on 'git' directive") } if dir.Type == "cgi" && (dir.Modifiers.Exec || dir.Modifiers.DirList || dir.Modifiers.DirDefault != "") { -- cgit v1.2.3