Documentation
¶
Overview ¶
error defination https://www.jsonrpc.org/specification#error_object
Index ¶
- Constants
- Variables
- func ConvertInt(v interface{}) int
- func ConvertString(v interface{}) string
- func ConvertStringList(v interface{}) []string
- func EncodePretty(msg IMessage) (string, error)
- func ErrorResponse(w http.ResponseWriter, r *http.Request, err error, status int, message string)
- func GuessJson(input string) (interface{}, error)
- func GuessJsonArray(inputArr []string) ([]interface{}, error)
- func IsMethod(name string) bool
- func IsPublicMethod(name string) bool
- func MarshalJson(data interface{}) (string, error)
- func MessageBytes(msg IMessage) ([]byte, error)
- func MessageInterface(msg IMessage) interface{}
- func MessageJson(msg IMessage) *simplejson.Json
- func MessageString(msg IMessage) string
- func MustFloat(input interface{}, prefix string) float64
- func MustInt(input interface{}, prefix string) int64
- func MustNumber(input interface{}, prefix string) json.Number
- func ValidateFloat(v interface{}, prefix string) (float64, error)
- func ValidateInt(v interface{}, prefix string) (int64, error)
- func ValidateNumber(v interface{}, prefix string) (json.Number, error)
- func ValidateString(v interface{}, prefix string) (string, error)
- type BaseMessage
- func (self BaseMessage) IsError() bool
- func (self BaseMessage) IsNotify() bool
- func (self BaseMessage) IsRequest() bool
- func (self BaseMessage) IsRequestOrNotify() bool
- func (self BaseMessage) IsResult() bool
- func (self BaseMessage) IsResultOrError() bool
- func (self *BaseMessage) SetRaw(raw *simplejson.Json)
- func (self *BaseMessage) SetTraceId(traceId string)
- func (self BaseMessage) TraceId() string
- type ErrorMessage
- func (self *ErrorMessage) GetJson() *simplejson.Json
- func (self ErrorMessage) Log() *log.Entry
- func (self ErrorMessage) MustError() *RPCError
- func (self ErrorMessage) MustId() interface{}
- func (self ErrorMessage) MustMethod() string
- func (self ErrorMessage) MustParams() []interface{}
- func (self ErrorMessage) MustResult() interface{}
- type IMessage
- type NotifyMessage
- func (self *NotifyMessage) GetJson() *simplejson.Json
- func (self NotifyMessage) Log() *log.Entry
- func (self NotifyMessage) MustError() *RPCError
- func (self NotifyMessage) MustId() interface{}
- func (self NotifyMessage) MustMethod() string
- func (self NotifyMessage) MustParams() []interface{}
- func (self NotifyMessage) MustResult() interface{}
- type RPCError
- type RequestMessage
- func (self RequestMessage) Clone(newId interface{}) *RequestMessage
- func (self *RequestMessage) GetJson() *simplejson.Json
- func (self RequestMessage) Log() *log.Entry
- func (self RequestMessage) MustError() *RPCError
- func (self RequestMessage) MustId() interface{}
- func (self RequestMessage) MustMethod() string
- func (self RequestMessage) MustParams() []interface{}
- func (self RequestMessage) MustResult() interface{}
- type ResultMessage
- func (self *ResultMessage) GetJson() *simplejson.Json
- func (self ResultMessage) Log() *log.Entry
- func (self ResultMessage) MustError() *RPCError
- func (self ResultMessage) MustId() interface{}
- func (self ResultMessage) MustMethod() string
- func (self ResultMessage) MustParams() []interface{}
- func (self ResultMessage) MustResult() interface{}
- type UID
Constants ¶
const ( MTRequest = 1 MTNotify = 2 MTResult = 3 MTError = 4 )
Variables ¶
var ( ErrServerError = &RPCError{100, "server error", nil} ErrNilId = &RPCError{102, "nil message id", nil} ErrMethodNotFound = &RPCError{-32601, "method not found", nil} ErrEmptyMethod = &RPCError{-32601, "empty method", nil} ErrParseMessage = &RPCError{-32700, "parse error", nil} ErrInvalidRequest = &RPCError{-32600, "invalid request", nil} ErrInternalError = &RPCError{-32603, "internal error", nil} ErrMessageType = &RPCError{105, "wrong message type", nil} ErrTimeout = &RPCError{200, "request timeout", nil} ErrBadResource = &RPCError{201, "bad resource", nil} ErrLiveExit = &RPCError{202, "live exit", nil} ErrNotAllowed = &RPCError{406, "type not allowed", nil} ErrAuthFailed = &RPCError{401, "auth failed", nil} )
Functions ¶
func ConvertInt ¶
func ConvertInt(v interface{}) int
func ConvertString ¶
func ConvertString(v interface{}) string
func ConvertStringList ¶
func ConvertStringList(v interface{}) []string
func ErrorResponse ¶
func GuessJsonArray ¶
func IsPublicMethod ¶
func MarshalJson ¶
func MessageBytes ¶
func MessageInterface ¶
func MessageInterface(msg IMessage) interface{}
func MessageJson ¶
func MessageJson(msg IMessage) *simplejson.Json
A Message object to Json object for further trans
func MessageString ¶
func MustNumber ¶
func ValidateFloat ¶
func ValidateInt ¶
func ValidateString ¶
Types ¶
type BaseMessage ¶
type BaseMessage struct {
// contains filtered or unexported fields
}
func (BaseMessage) IsError ¶
func (self BaseMessage) IsError() bool
IsError() returns if the message is a ErrorMessage
func (BaseMessage) IsNotify ¶
func (self BaseMessage) IsNotify() bool
IsNotify() returns if the message is a NotifyMessage
func (BaseMessage) IsRequest ¶
func (self BaseMessage) IsRequest() bool
IsRequest() returns if the message is a RequestMessage
func (BaseMessage) IsRequestOrNotify ¶
func (self BaseMessage) IsRequestOrNotify() bool
IsRequestOrNotify() returns if the message is a RequestMessage or NotifyMessage
func (BaseMessage) IsResult ¶
func (self BaseMessage) IsResult() bool
IsResult() returns if the message is a ResultMessage
func (BaseMessage) IsResultOrError ¶
func (self BaseMessage) IsResultOrError() bool
IsResultOrError() returns if the message is a ResultMessage or ErrorMessage
func (*BaseMessage) SetRaw ¶
func (self *BaseMessage) SetRaw(raw *simplejson.Json)
Set raw Json object to skip generating the same raw a little tip
func (*BaseMessage) SetTraceId ¶
func (self *BaseMessage) SetTraceId(traceId string)
func (BaseMessage) TraceId ¶
func (self BaseMessage) TraceId() string
type ErrorMessage ¶
type ErrorMessage struct {
BaseMessage
Id interface{}
Error *RPCError
}
func NewErrorMessage ¶
func NewErrorMessage(reqmsg IMessage, errbody *RPCError) *ErrorMessage
func RPCErrorMessage ¶
func RPCErrorMessage(reqmsg IMessage, code int, message string, data interface{}) *ErrorMessage
func (*ErrorMessage) GetJson ¶
func (self *ErrorMessage) GetJson() *simplejson.Json
func (ErrorMessage) Log ¶
func (self ErrorMessage) Log() *log.Entry
func (ErrorMessage) MustError ¶
func (self ErrorMessage) MustError() *RPCError
func (ErrorMessage) MustId ¶
func (self ErrorMessage) MustId() interface{}
func (ErrorMessage) MustMethod ¶
func (self ErrorMessage) MustMethod() string
func (ErrorMessage) MustParams ¶
func (self ErrorMessage) MustParams() []interface{}
func (ErrorMessage) MustResult ¶
func (self ErrorMessage) MustResult() interface{}
type IMessage ¶
type IMessage interface {
IsRequest() bool
IsNotify() bool
IsRequestOrNotify() bool
IsResult() bool
IsError() bool
IsResultOrError() bool
// TraceId
SetTraceId(traceId string)
TraceId() string
// upvote
GetJson() *simplejson.Json
MustId() interface{}
MustMethod() string
MustParams() []interface{}
MustResult() interface{}
MustError() *RPCError
Log() *log.Entry
}
func ParseBytes ¶
type NotifyMessage ¶
type NotifyMessage struct {
BaseMessage
Method string
Params []interface{}
// contains filtered or unexported fields
}
func NewNotifyMessage ¶
func NewNotifyMessage(method string, params []interface{}) *NotifyMessage
func (*NotifyMessage) GetJson ¶
func (self *NotifyMessage) GetJson() *simplejson.Json
func (NotifyMessage) Log ¶
func (self NotifyMessage) Log() *log.Entry
func (NotifyMessage) MustError ¶
func (self NotifyMessage) MustError() *RPCError
func (NotifyMessage) MustId ¶
func (self NotifyMessage) MustId() interface{}
func (NotifyMessage) MustMethod ¶
func (self NotifyMessage) MustMethod() string
func (NotifyMessage) MustParams ¶
func (self NotifyMessage) MustParams() []interface{}
func (NotifyMessage) MustResult ¶
func (self NotifyMessage) MustResult() interface{}
type RPCError ¶
func NewErrMsgType ¶
Create a new instance of ErrMessageType additional is the information to help identify error details
func ParamsError ¶
func (RPCError) ToJson ¶
func (self RPCError) ToJson() *simplejson.Json
Generate json represent of ErrorMessage.body refer to https://www.jsonrpc.org/specification#error_object
func (RPCError) ToMessage ¶
func (self RPCError) ToMessage(reqmsg *RequestMessage) *ErrorMessage
Convert RPCError to ErrorMessage reqmsg is the original RequestMessage instance, the ErrorMessage will copy reqmsg's id property
type RequestMessage ¶
type RequestMessage struct {
BaseMessage
Id interface{}
Method string
Params []interface{}
// contains filtered or unexported fields
}
func NewRequestMessage ¶
func NewRequestMessage(id interface{}, method string, params []interface{}) *RequestMessage
func (RequestMessage) Clone ¶
func (self RequestMessage) Clone(newId interface{}) *RequestMessage
type ResultMessage ¶
type ResultMessage struct {
BaseMessage
Id interface{}
Result interface{}
}
func NewResultMessage ¶
func NewResultMessage(reqmsg IMessage, result interface{}) *ResultMessage
func (*ResultMessage) GetJson ¶
func (self *ResultMessage) GetJson() *simplejson.Json
func (ResultMessage) Log ¶
func (self ResultMessage) Log() *log.Entry
func (ResultMessage) MustError ¶
func (self ResultMessage) MustError() *RPCError
func (ResultMessage) MustId ¶
func (self ResultMessage) MustId() interface{}
func (ResultMessage) MustMethod ¶
func (self ResultMessage) MustMethod() string
func (ResultMessage) MustParams ¶
func (self ResultMessage) MustParams() []interface{}
func (ResultMessage) MustResult ¶
func (self ResultMessage) MustResult() interface{}