aboutsummaryrefslogtreecommitdiff
path: root/errors.go
diff options
context:
space:
mode:
Diffstat (limited to 'errors.go')
-rw-r--r--errors.go15
1 files changed, 14 insertions, 1 deletions
diff --git a/errors.go b/errors.go
index c38bbf8..7e5bc17 100644
--- a/errors.go
+++ b/errors.go
@@ -1,6 +1,10 @@
package acme
-import "errors"
+import (
+ "encoding/json"
+ "errors"
+ "io"
+)
var (
ErrBadCSR = errors.New("CSR is unacceptable")
@@ -26,3 +30,12 @@ var urnErrors = map[string]error{
"urn:acme:error:unauthorized": ErrUnauthorized,
"urn:acme:error:unknownHost": ErrUnknownHost,
}
+
+func problem(r io.Reader) error {
+ var p Problem
+ if err := json.NewDecoder(r).Decode(&p); err != nil {
+ return err
+ }
+ p.Err = urnErrors[p.Type]
+ return p
+}