aboutsummaryrefslogtreecommitdiff
path: root/messages.go
diff options
context:
space:
mode:
authorDimitri Sokolyuk <demon@dim13.org>2015-12-12 13:16:26 +0100
committerDimitri Sokolyuk <demon@dim13.org>2015-12-12 13:16:26 +0100
commit5b583d8c6604bee2ac028b154947945c6df4ddab (patch)
tree536aa6043b1892ad76a409870d76f6b5ac21aa4c /messages.go
parentc0abc3497578b46a837dee58c6133be4f2e9c817 (diff)
Unify
Diffstat (limited to 'messages.go')
-rw-r--r--messages.go25
1 files changed, 14 insertions, 11 deletions
diff --git a/messages.go b/messages.go
index 799a798..f444c5c 100644
--- a/messages.go
+++ b/messages.go
@@ -96,19 +96,22 @@ const (
StatusRevoked
)
+var status = map[Status]string{
+ StatusUnknown: "unknown",
+ StatusPending: "pending",
+ StatusProcessing: "processing",
+ StatusValid: "valid",
+ StatusInvalid: "invalid",
+ StatusRevoked: "revoked",
+}
+
// UnmarshalText implemets json interface for status decoding
func (s *Status) UnmarshalText(b []byte) error {
- var status = map[string]Status{
- "unknown": StatusUnknown,
- "pending": StatusPending,
- "processing": StatusProcessing,
- "valid": StatusValid,
- "invalid": StatusInvalid,
- "revoked": StatusRevoked,
- }
- if st, ok := status[string(b)]; ok {
- *s = st
- return nil
+ for k, v := range status {
+ if v == string(b) {
+ *s = k
+ return nil
+ }
}
return fmt.Errorf("unknown status %v", string(b))
}