aboutsummaryrefslogtreecommitdiff
path: root/errors.go
diff options
context:
space:
mode:
authorDimitri Sokolyuk <demon@dim13.org>2016-01-20 10:52:10 +0100
committerDimitri Sokolyuk <demon@dim13.org>2016-01-20 10:52:10 +0100
commita1259adec2840f1a6519fefb21ce9c3c4b1b6656 (patch)
tree918d3530681e5ba21d9ab655af33fdaf615bf2ba /errors.go
parentb54aa5fd3788022897496b94eac80dd91dfaae0a (diff)
Move problem to errors
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
+}