aboutsummaryrefslogtreecommitdiff
path: root/signer.go
diff options
context:
space:
mode:
Diffstat (limited to 'signer.go')
-rw-r--r--signer.go15
1 files changed, 7 insertions, 8 deletions
diff --git a/signer.go b/signer.go
index 33a4f4d..61f2aaa 100644
--- a/signer.go
+++ b/signer.go
@@ -18,8 +18,7 @@ const KeySize = 2048
var ErrNoNonces = errors.New("out of nonces")
-// Signer ...
-type Signer struct {
+type signer struct {
jose.Signer
nonces chan string
}
@@ -42,8 +41,8 @@ func Thumbnail(privKey crypto.PrivateKey) (string, error) {
return "", ErrKeyType
}
-func NewSigner(privKey crypto.PrivateKey) (*Signer, error) {
- signer := func(crypto.PrivateKey) (jose.Signer, error) {
+func newSigner(privKey crypto.PrivateKey) (*signer, error) {
+ js := func(crypto.PrivateKey) (jose.Signer, error) {
switch k := privKey.(type) {
case *rsa.PrivateKey:
return jose.NewSigner(jose.RS256, k)
@@ -52,17 +51,17 @@ func NewSigner(privKey crypto.PrivateKey) (*Signer, error) {
}
return nil, ErrKeyType
}
- s, err := signer(privKey)
+ s, err := js(privKey)
if err != nil {
return nil, err
}
- sig := &Signer{Signer: s, nonces: make(chan string, 100)}
+ sig := &signer{Signer: s, nonces: make(chan string, 100)}
sig.SetNonceSource(sig)
return sig, nil
}
// Nonce implements jose nonce provider
-func (s Signer) Nonce() (string, error) {
+func (s signer) Nonce() (string, error) {
select {
case nonce := <-s.nonces:
return nonce, nil
@@ -72,7 +71,7 @@ func (s Signer) Nonce() (string, error) {
}
// RoundTrip extracts nonces from HTTP response
-func (s Signer) RoundTrip(req *http.Request) (*http.Response, error) {
+func (s signer) RoundTrip(req *http.Request) (*http.Response, error) {
if req.Method == http.MethodPost {
body, err := ioutil.ReadAll(req.Body)
if err != nil {