From 1e28cc43c5691f90aae4d2b77e5ecaf52432f2eb Mon Sep 17 00:00:00 2001 From: Dimitri Sokolyuk Date: Fri, 25 Dec 2015 16:03:37 +0100 Subject: timeout --- challange_http.go | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) (limited to 'challange_http.go') diff --git a/challange_http.go b/challange_http.go index 09f1db1..f971d87 100644 --- a/challange_http.go +++ b/challange_http.go @@ -22,8 +22,10 @@ type httpChallenge struct { } func (c *httpChallenge) ServeHTTP(w http.ResponseWriter, r *http.Request) { - io.WriteString(w, c.KeyAuthorization) - c.done <- true + if r.URL.Path == path.Join(wellKnown, c.Token) { + io.WriteString(w, c.KeyAuthorization) + c.done <- true + } } func (c *httpChallenge) Solve() error { @@ -33,14 +35,12 @@ func (c *httpChallenge) Solve() error { return err } defer l.Close() - s := &http.Server{Handler: c} - s.SetKeepAlivesEnabled(false) - go s.Serve(l) + go http.Serve(l, c) <-c.done return nil } -func (c *httpChallenge) Solved() error { +func (c *httpChallenge) Abort() error { c.done <- true return nil } @@ -58,7 +58,7 @@ func (c *webRoot) Solve() error { return ioutil.WriteFile(file, []byte(c.KeyAuthorization), 0644) } -func (c *webRoot) Solved() error { +func (c *webRoot) Abort() error { file := path.Join(c.Webroot, wellKnown, c.Token) return os.Remove(file) } -- cgit v1.2.3