diff --git a/attribute_errorcode.go b/attribute_errorcode.go index 32562f6..f26d6bb 100644 --- a/attribute_errorcode.go +++ b/attribute_errorcode.go @@ -14,24 +14,21 @@ const ( CodeServerError ErrorCode = 500 ) +var errorReasons = map[ErrorCode]string{ + CodeTryAlternate: "Try Alternate", + CodeBadRequest: "Bad Request", + CodeUnauthorised: "Unauthorised", + CodeUnknownAttribute: "Unknown Attribute", + CodeStaleNonce: "Stale Nonce", + CodeServerError: "Server Error", + CodeRoleConflict: "Role Conflict", +} + // Reason returns recommended reason string. func (c ErrorCode) Reason() string { - switch c { - case CodeTryAlternate: - return "Try Alternate" - case CodeBadRequest: - return "Bad Request" - case CodeUnauthorised: - return "Unauthorised" - case CodeUnknownAttribute: - return "Unknown attribute" - case CodeStaleNonce: - return "Stale Nonce" - case CodeServerError: - return "Server Error" - case CodeRoleConflict: - return "Role conflict" - default: + reason, ok := errorReasons[c] + if !ok { return "Unknown Error" } + return reason } diff --git a/client.go b/client.go index 70f3da9..9d4b04b 100644 --- a/client.go +++ b/client.go @@ -8,6 +8,7 @@ import ( ) // SameTransaction returns true of a and b have same Transaction ID. +// DEPRECATED: remove usage. func SameTransaction(a *Message, b *Message) bool { return a.TransactionID == b.TransactionID }