From fa26e22f7c442c0f434685130020a8b32b6ad7d9 Mon Sep 17 00:00:00 2001 From: Dimitri Sokolyuk Date: Thu, 10 Mar 2016 17:24:18 +0100 Subject: Encapsulate Solvers --- cmd/acme/main.go | 13 ++++--------- solver.go | 10 ++++++++++ 2 files changed, 14 insertions(+), 9 deletions(-) diff --git a/cmd/acme/main.go b/cmd/acme/main.go index b6ee054..ea9ddd0 100644 --- a/cmd/acme/main.go +++ b/cmd/acme/main.go @@ -84,17 +84,12 @@ func requestCert(prov *acme.Provider, acc *acme.Account, d domain) error { } } - sols := make(acme.Solvers) - + sols := acme.NewSolvers() if d.Webroot != "" { - sols[acme.ChallengeHTTP] = acme.NewWebrootSolver(d.Webroot) + sols.Add(acme.NewWebrootSolver(d.Webroot)) } else { - if httpSol != nil { - sols[acme.ChallengeHTTP] = httpSol - } - if tlsSol != nil { - sols[acme.ChallengeTLS] = tlsSol - } + sols.Add(httpSol) + sols.Add(tlsSol) } for _, an := range d.Altnames { diff --git a/solver.go b/solver.go index 639cdd0..be6635e 100644 --- a/solver.go +++ b/solver.go @@ -18,3 +18,13 @@ type Solver interface { } type Solvers map[ChalType]Solver + +func NewSolvers() Solvers { + return make(Solvers) +} + +func (s Solvers) Add(sol Solver) { + if sol != nil { + s[sol.Type()] = sol + } +} -- cgit v1.2.3