aboutsummaryrefslogtreecommitdiff
path: root/messages.go
diff options
context:
space:
mode:
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))
}