Files
stun-1/attribute_errorcode.go
Aleksandr Razumov 2843383a6b all: major refactor
2017-02-04 22:11:11 +03:00

40 lines
865 B
Go

package stun
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
}