summaryrefslogtreecommitdiff
path: root/caddyconfig
diff options
context:
space:
mode:
Diffstat (limited to 'caddyconfig')
-rwxr-xr-xcaddyconfig/caddyfile/parse.go11
-rw-r--r--caddyconfig/httpcaddyfile/httptype.go6
2 files changed, 14 insertions, 3 deletions
diff --git a/caddyconfig/caddyfile/parse.go b/caddyconfig/caddyfile/parse.go
index 5906bdd..c0f6079 100755
--- a/caddyconfig/caddyfile/parse.go
+++ b/caddyconfig/caddyfile/parse.go
@@ -211,6 +211,12 @@ func (p *parser) addresses() error {
if expectingAnother {
return p.Errf("Expected another address but had '%s' - check for extra comma", tkn)
}
+ // Mark this server block as being defined with braces.
+ // This is used to provide a better error message when
+ // the user may have tried to define two server blocks
+ // without having used braces, which are required in
+ // that case.
+ p.block.HasBraces = true
break
}
@@ -571,8 +577,9 @@ func (p *parser) snippetTokens() ([]Token, error) {
// head of the server block with tokens, which are
// grouped by segments.
type ServerBlock struct {
- Keys []string
- Segments []Segment
+ HasBraces bool
+ Keys []string
+ Segments []Segment
}
// DispenseDirective returns a dispenser that contains
diff --git a/caddyconfig/httpcaddyfile/httptype.go b/caddyconfig/httpcaddyfile/httptype.go
index ff52dbf..e5dafe6 100644
--- a/caddyconfig/httpcaddyfile/httptype.go
+++ b/caddyconfig/httpcaddyfile/httptype.go
@@ -170,7 +170,11 @@ func (st ServerType) Setup(inputServerBlocks []caddyfile.ServerBlock,
dirFunc, ok := registeredDirectives[dir]
if !ok {
tkn := segment[0]
- return nil, warnings, fmt.Errorf("%s:%d: unrecognized directive: %s", tkn.File, tkn.Line, dir)
+ message := "%s:%d: unrecognized directive: %s"
+ if !sb.block.HasBraces {
+ message += "\nDid you mean to define a second site? If so, you must use curly braces around each site to separate their configurations."
+ }
+ return nil, warnings, fmt.Errorf(message, tkn.File, tkn.Line, dir)
}
h := Helper{