mirror of
https://github.com/caddyserver/caddy.git
synced 2024-12-27 06:03:48 +03:00
httpcaddyfile: Minor fixes to parsing storage options
This commit is contained in:
parent
1fa8c185a8
commit
bca610fbde
2 changed files with 26 additions and 10 deletions
|
@ -136,14 +136,13 @@ func parseOptOrder(d *caddyfile.Dispenser) ([]string, error) {
|
||||||
}
|
}
|
||||||
|
|
||||||
func parseOptStorage(d *caddyfile.Dispenser) (caddy.StorageConverter, error) {
|
func parseOptStorage(d *caddyfile.Dispenser) (caddy.StorageConverter, error) {
|
||||||
if !d.Next() {
|
if !d.Next() { // consume option name
|
||||||
return nil, d.ArgErr()
|
return nil, d.ArgErr()
|
||||||
}
|
}
|
||||||
args := d.RemainingArgs()
|
if !d.Next() { // get storage module name
|
||||||
if len(args) != 1 {
|
|
||||||
return nil, d.ArgErr()
|
return nil, d.ArgErr()
|
||||||
}
|
}
|
||||||
modName := args[0]
|
modName := d.Val()
|
||||||
mod, err := caddy.GetModule("caddy.storage." + modName)
|
mod, err := caddy.GetModule("caddy.storage." + modName)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, d.Errf("getting storage module '%s': %v", modName, err)
|
return nil, d.Errf("getting storage module '%s': %v", modName, err)
|
||||||
|
|
|
@ -48,15 +48,32 @@ func (s *FileStorage) UnmarshalCaddyfile(d *caddyfile.Dispenser) error {
|
||||||
if !d.Next() {
|
if !d.Next() {
|
||||||
return d.Err("expected tokens")
|
return d.Err("expected tokens")
|
||||||
}
|
}
|
||||||
for nesting := d.Nesting(); d.NextBlock(nesting); {
|
if d.NextArg() {
|
||||||
if !d.NextArg() {
|
|
||||||
return d.ArgErr()
|
|
||||||
}
|
|
||||||
s.Root = d.Val()
|
s.Root = d.Val()
|
||||||
if d.NextArg() {
|
}
|
||||||
return d.ArgErr()
|
if d.NextArg() {
|
||||||
|
return d.ArgErr()
|
||||||
|
}
|
||||||
|
for nesting := d.Nesting(); d.NextBlock(nesting); {
|
||||||
|
switch d.Val() {
|
||||||
|
case "root":
|
||||||
|
if !d.NextArg() {
|
||||||
|
return d.ArgErr()
|
||||||
|
}
|
||||||
|
if s.Root != "" {
|
||||||
|
return d.Err("root already set")
|
||||||
|
}
|
||||||
|
s.Root = d.Val()
|
||||||
|
if d.NextArg() {
|
||||||
|
return d.ArgErr()
|
||||||
|
}
|
||||||
|
default:
|
||||||
|
return d.Errf("unrecognized parameter '%s'", d.Val())
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
if s.Root == "" {
|
||||||
|
return d.Err("missing root path (to use default, omit storage config entirely)")
|
||||||
|
}
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue