mirror of
https://github.com/yusing/godoxy.git
synced 2026-03-21 17:10:14 +01:00
31 lines
664 B
Go
31 lines
664 B
Go
package autocert
|
|
|
|
import (
|
|
gperr "github.com/yusing/goutils/errs"
|
|
)
|
|
|
|
func (p *Provider) setupExtraProviders() error {
|
|
p.sniMatcher = sniMatcher{}
|
|
if len(p.cfg.Extra) == 0 {
|
|
return nil
|
|
}
|
|
|
|
p.extraProviders = make([]*Provider, 0, len(p.cfg.Extra))
|
|
|
|
errs := gperr.NewBuilder("setup extra providers error")
|
|
for _, extra := range p.cfg.Extra {
|
|
user, legoCfg, err := extra.AsConfig().GetLegoConfig()
|
|
if err != nil {
|
|
errs.Add(p.fmtError(err))
|
|
continue
|
|
}
|
|
ep, err := NewProvider(extra.AsConfig(), user, legoCfg)
|
|
if err != nil {
|
|
errs.Add(p.fmtError(err))
|
|
continue
|
|
}
|
|
p.extraProviders = append(p.extraProviders, ep)
|
|
}
|
|
return errs.Error()
|
|
}
|