From f0216967dca12831b1aac351fc8c4bfcea148697 Mon Sep 17 00:00:00 2001 From: Matthew Holt Date: Tue, 5 Jan 2021 14:39:30 -0700 Subject: caddyfile: Refactor unmarshaling of module tokens Eliminates a fair amount of repeated code --- caddyconfig/httpcaddyfile/serveroptions.go | 13 +++---------- 1 file changed, 3 insertions(+), 10 deletions(-) (limited to 'caddyconfig/httpcaddyfile/serveroptions.go') diff --git a/caddyconfig/httpcaddyfile/serveroptions.go b/caddyconfig/httpcaddyfile/serveroptions.go index 38fa0f1..9e94b86 100644 --- a/caddyconfig/httpcaddyfile/serveroptions.go +++ b/caddyconfig/httpcaddyfile/serveroptions.go @@ -57,21 +57,14 @@ func unmarshalCaddyfileServerOptions(d *caddyfile.Dispenser) (interface{}, error switch d.Val() { case "listener_wrappers": for nesting := d.Nesting(); d.NextBlock(nesting); { - mod, err := caddy.GetModule("caddy.listeners." + d.Val()) - if err != nil { - return nil, fmt.Errorf("finding listener module '%s': %v", d.Val(), err) - } - unm, ok := mod.New().(caddyfile.Unmarshaler) - if !ok { - return nil, fmt.Errorf("listener module '%s' is not a Caddyfile unmarshaler", mod) - } - err = unm.UnmarshalCaddyfile(d.NewFromNextSegment()) + modID := "caddy.listeners." + d.Val() + unm, err := caddyfile.UnmarshalModule(d, modID) if err != nil { return nil, err } listenerWrapper, ok := unm.(caddy.ListenerWrapper) if !ok { - return nil, fmt.Errorf("module %s is not a listener wrapper", mod) + return nil, fmt.Errorf("module %s (%T) is not a listener wrapper", modID, unm) } jsonListenerWrapper := caddyconfig.JSONModuleObject( listenerWrapper, -- cgit v1.2.3