From 1db342aa4b01994cc46f5414e919dba714b1abd3 Mon Sep 17 00:00:00 2001 From: Dimitri Sokolyuk Date: Sun, 13 Dec 2015 04:38:02 +0100 Subject: Change singer interface --- account.go | 8 +++++--- client.go | 4 +--- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/account.go b/account.go index fffc339..8ae343b 100644 --- a/account.go +++ b/account.go @@ -5,8 +5,10 @@ import ( "crypto/rsa" "encoding/json" "fmt" + "io" "io/ioutil" "net/mail" + "strings" "github.com/square/go-jose" ) @@ -67,10 +69,10 @@ func (a Account) SaveAccount(fname string) error { // Signer describes a signing interface type Signer interface { - Sign([]byte, jose.NonceSource) ([]byte, error) + Sign([]byte, jose.NonceSource) (io.Reader, error) } -func (a *Account) Sign(msg []byte, n jose.NonceSource) ([]byte, error) { +func (a *Account) Sign(msg []byte, n jose.NonceSource) (io.Reader, error) { if a.signer == nil { var err error a.signer, err = jose.NewSigner(jose.RS256, a.PrivKey) @@ -83,7 +85,7 @@ func (a *Account) Sign(msg []byte, n jose.NonceSource) ([]byte, error) { if err != nil { return nil, err } - return []byte(obj.FullSerialize()), nil + return strings.NewReader(obj.FullSerialize()), nil } func (a *Account) ParseSigned(msg []byte) ([]byte, error) { diff --git a/client.go b/client.go index 40590d6..596694f 100644 --- a/client.go +++ b/client.go @@ -1,7 +1,6 @@ package acme import ( - "bytes" "encoding/json" "errors" "fmt" @@ -81,8 +80,7 @@ func (c *Client) post(url string, s Signer, v interface{}) error { return err } - resp, err := http.Post(url, "application/jose+json", - bytes.NewReader(signed)) + resp, err := http.Post(url, "application/jose+json", signed) if err != nil { return err } -- cgit v1.2.3