From 9afc7bda5c1ce76ade2bfd0c91e1bd1cbbceeb44 Mon Sep 17 00:00:00 2001 From: Dimitri Sokolyuk Date: Fri, 18 Dec 2015 00:38:36 +0100 Subject: 409 --- client.go | 14 ++++++++++---- cmd/acme/main.go | 13 +++++++++---- errors.go | 2 ++ 3 files changed, 21 insertions(+), 8 deletions(-) diff --git a/client.go b/client.go index 83dcf57..0b6a892 100644 --- a/client.go +++ b/client.go @@ -88,14 +88,14 @@ func (c *Client) post(url string, s Signer, v interface{}) error { } defer resp.Body.Close() - if resp.StatusCode >= http.StatusBadRequest { - return handleError(resp) - } - c.nonce <- replyNonce(resp) c.Link = links(resp) c.Location = location(resp) + if resp.StatusCode >= http.StatusBadRequest { + return handleError(resp) + } + body, err = ioutil.ReadAll(resp.Body) if err != nil { return err @@ -173,6 +173,12 @@ func (c *Client) Agree(a *Account) (*Registration, error) { return r, err } +func (c *Client) Query(a *Account) (*Registration, error) { + r := &Registration{Resource: ResRegister} + err := c.post(c.Location, a, r) + return r, err +} + func (c *Client) Authorize(a *Account, domain string) (*Authorization, error) { r := &Authorization{ Resource: ResNewAuthz, diff --git a/cmd/acme/main.go b/cmd/acme/main.go index 3df4fa0..e19d6c6 100644 --- a/cmd/acme/main.go +++ b/cmd/acme/main.go @@ -91,7 +91,7 @@ func chkKeys(c *Config) error { err = chkCert(des) if err != nil { log.Println(k, "cert missing") - _, err := newCSR(des.Altnames, des.account.key) + _, err = newCSR(des.Altnames, des.account.key) if err != nil { log.Fatal(err) } @@ -116,7 +116,6 @@ func main() { for k, des := range conf.Desire { log.Println(k, des.account) } - return for k, des := range conf.Desire { a, _ := acme.NewAccount(des.account.Mail, des.account.Phone, des.account.key) @@ -125,12 +124,18 @@ func main() { if err != nil { log.Println(err) } + r, err := c.Register(a) + if err != nil { + log.Println(err) + } log.Println(k, c) - az, err := c.Authorize(a, des.Altnames[0]) + log.Println(k, r) + r, err = c.Query(a) if err != nil { log.Println(err) } - log.Println(k, az) + log.Println(k, c) + log.Println(k, r) } } diff --git a/errors.go b/errors.go index eb486bd..9be62bf 100644 --- a/errors.go +++ b/errors.go @@ -4,6 +4,7 @@ import ( "encoding/json" "errors" "io/ioutil" + "log" "net/http" ) @@ -33,6 +34,7 @@ var urnErrors = map[string]error{ } func handleError(r *http.Response) error { + log.Println("Status:", r.Status) defer r.Body.Close() body, err := ioutil.ReadAll(r.Body) if err != nil { -- cgit v1.2.3