httpcaddyfile: Fix tls certificate loader module names (#2748)

This commit is contained in:
Matthew Holt 2019-09-13 09:45:10 -06:00
parent ed40a5dcab
commit d0c1756fc5
No known key found for this signature in database
GPG Key ID: 2A349DD577D586A5
2 changed files with 12 additions and 1 deletions

View File

@ -183,7 +183,7 @@ func (st ServerType) Setup(originalServerBlocks []caddyfile.ServerBlock,
if clVals, ok := sblock.pile["tls.certificate_loader"]; ok {
for _, clVal := range clVals {
loader := clVal.Value.(caddytls.CertificateLoader)
loaderName := caddy.GetModuleName(loader)
loaderName := caddy.GetModuleID(loader)
tlsApp.Certificates[loaderName] = caddyconfig.JSON(loader, &warnings)
}
}

View File

@ -126,6 +126,17 @@ func GetModuleName(instance interface{}) string {
return name
}
// GetModuleID returns a module's ID (the last element of its name)
// from an instance of its value. If the value is not a module,
// an empty string will be returned.
func GetModuleID(instance interface{}) string {
var name string
if mod, ok := instance.(Module); ok {
name = mod.CaddyModule().ID()
}
return name
}
// GetModules returns all modules in the given scope/namespace.
// For example, a scope of "foo" returns modules named "foo.bar",
// "foo.loo", but not "bar", "foo.bar.loo", etc. An empty scope