aboutsummaryrefslogtreecommitdiff
path: root/challenge.go
diff options
context:
space:
mode:
authorDimitri Sokolyuk <demon@dim13.org>2016-01-08 18:19:02 +0100
committerDimitri Sokolyuk <demon@dim13.org>2016-01-08 18:19:02 +0100
commit57a7772122b6a87ba67a534ba7346f1472e72cc4 (patch)
tree3f535b9cabde176eb1e8716bfe438ea351e4ae4e /challenge.go
parent88611642648c047f54632a98619e865d0081b6dd (diff)
Move solver into client part, broken for now
Diffstat (limited to 'challenge.go')
-rw-r--r--challenge.go32
1 files changed, 5 insertions, 27 deletions
diff --git a/challenge.go b/challenge.go
index 8357dc8..dd6d875 100644
--- a/challenge.go
+++ b/challenge.go
@@ -1,37 +1,15 @@
package acme
-import (
- "errors"
- "time"
-)
-
// Solver decribes a solving interface
type Solver interface {
- Solve() error
- Abort() error
+ Solve(token, keyAuth string) error
+ Finish() error
}
-var (
- canSolve = make(map[ChallengeType]bool)
- errTimeOut = errors.New("time out")
-)
-
const WellKnown = `/.well-known/acme-challenge/`
-func registerSolver(c ChallengeType) {
- canSolve[c] = true
-}
+var canSolve = make(map[ChallengeType]Solver)
-func Solve(s Solver, timeout time.Duration) error {
- errc := make(chan error)
- go func() {
- errc <- s.Solve()
- }()
- select {
- case err := <-errc:
- return err
- case <-time.After(timeout):
- s.Abort()
- return errTimeOut
- }
+func RegisterSolver(c ChallengeType, s Solver) {
+ canSolve[c] = s
}