From c63e37f1c40d1f67d21c10bc6fe505872cefaf9a Mon Sep 17 00:00:00 2001 From: Dimitri Sokolyuk Date: Wed, 23 Dec 2015 15:28:56 +0100 Subject: Experimantal --- client.go | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) (limited to 'client.go') diff --git a/client.go b/client.go index 38d9811..7246663 100644 --- a/client.go +++ b/client.go @@ -214,6 +214,7 @@ func (c *Client) Authorize(a *Account, domain []string) error { if err != nil { return err } + ns := parseHeader(resp) switch resp.StatusCode { case http.StatusCreated: for _, ch := range r.Challenges { @@ -231,10 +232,30 @@ func (c *Client) Authorize(a *Account, domain []string) error { } } } + for { + az, err := c.Status(ns.Location.String()) + if err != nil { + return err + } + log.Println(az) + log.Println(ns.RetryAfter) + time.Sleep(ns.RetryAfter) + } } return err } +func (c *Client) Status(url string) (*Authorization, error) { + r := &Authorization{} + resp, err := http.Get(url) + if err != nil { + return nil, err + } + defer resp.Body.Close() + defer c.replyNonce(resp) + return r, json.NewDecoder(resp.Body).Decode(r) +} + //////////////////////////////////////////////////////////////////////// // Register -- cgit v1.2.3