Files
stun/attribute_errorcode.go
2017-02-04 22:20:35 +03:00

41 lines
920 B
Go

package stun
// ErrorCodeAttribute represents ERROR-CODE attribute.
type ErrorCodeAttribute struct {
Code int
Reason []byte
}
// ErrorCode is code for ERROR-CODE attribute.
type ErrorCode int
// Possible error codes.
const (
CodeTryAlternate = 300
CodeBadRequest = 400
CodeUnauthorised = 401
CodeUnknownAttribute = 420
CodeStaleNonce = 428
CodeRoleConflict = 478
CodeServerError = 500
)
var errorReasons = map[int]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 {
reason, ok := errorReasons[int(c)]
if !ok {
return "Unknown Error"
}
return reason
}