Documentation ¶
Index ¶
- Constants
- Variables
- type Channel
- type CloseCode
- type CloseMessage
- type DefaultHandlerTask
- func (h *DefaultHandlerTask) ErrorCaught(ctx channel.HandlerContext, err error)
- func (h *DefaultHandlerTask) WSBinary(ctx channel.HandlerContext, message *DefaultMessage, params map[string]any)
- func (h *DefaultHandlerTask) WSClose(ctx channel.HandlerContext, message *CloseMessage, params map[string]any)
- func (h *DefaultHandlerTask) WSConnected(ch channel.Channel, req *http.Request, resp *http.Response, ...)
- func (h *DefaultHandlerTask) WSDisconnected(ch channel.Channel, req *http.Request, resp *http.Response, ...)
- func (h *DefaultHandlerTask) WSErrorCaught(ctx channel.HandlerContext, req *http.Request, resp *http.Response, ...)
- func (h *DefaultHandlerTask) WSPing(ctx channel.HandlerContext, message *PingMessage, params map[string]any)
- func (h *DefaultHandlerTask) WSPong(ctx channel.HandlerContext, message *PongMessage, params map[string]any)
- func (h *DefaultHandlerTask) WSText(ctx channel.HandlerContext, message *DefaultMessage, params map[string]any)
- type DefaultMessage
- type DefaultMessageBuilder
- func (b *DefaultMessageBuilder) Binary(msg []byte) *DefaultMessage
- func (b *DefaultMessageBuilder) Close(msg []byte, closeCode CloseCode) *CloseMessage
- func (b *DefaultMessageBuilder) Ping(msg []byte, deadline *time.Time) *PingMessage
- func (b *DefaultMessageBuilder) Pong(msg []byte, deadline *time.Time) *PongMessage
- func (b *DefaultMessageBuilder) Text(msg string) *DefaultMessage
- type DefaultServerHandlerTask
- type HandlerTask
- type InvokeHandler
- type Message
- type MessageBuilder
- type MessageType
- type PingMessage
- type PongMessage
- type ServerHandlerTask
- type WSCustomConnectConfig
- type WSLogStruct
- type WSUpgradeProcessor
Constants ¶
View Source
const ( TextMessageType MessageType = 1 BinaryMessageType MessageType = 2 CloseMessageType MessageType = 8 PingMessageType MessageType = 9 PongMessageType MessageType = 10 CloseNormalClosure CloseCode = 1000 CloseGoingAway CloseCode = 1001 CloseProtocolError CloseCode = 1002 CloseUnsupportedData CloseCode = 1003 CloseNoStatusReceived CloseCode = 1005 CloseAbnormalClosure CloseCode = 1006 CloseInvalidFramePayloadData CloseCode = 1007 ClosePolicyViolation CloseCode = 1008 CloseMessageTooBig CloseCode = 1009 CloseMandatoryExtension CloseCode = 1010 CloseInternalServerErr CloseCode = 1011 CloseServiceRestart CloseCode = 1012 CloseTryAgainLater CloseCode = 1013 CloseTLSHandshake CloseCode = 1015 )
View Source
const WSLogType = "websocket"
Variables ¶
View Source
var ErrEmpty = fmt.Errorf("wrong object type")
View Source
var ErrWrongObjectType = fmt.Errorf("wrong object type")
View Source
var ParamCheckOrigin channel.ParamKey = "check_origin"
View Source
var ParamWSReadLimit channel.ParamKey = "ws_read_limit"
Functions ¶
This section is empty.
Types ¶
type Channel ¶
type Channel struct { *channel.DefaultNetChannel Response *gtp.Response Request *gtp.Request // contains filtered or unexported fields }
func (*Channel) BootstrapPreInit ¶
func (c *Channel) BootstrapPreInit()
func (*Channel) UnsafeConnect ¶
func (*Channel) UnsafeRead ¶
func (*Channel) UnsafeWrite ¶
type CloseMessage ¶
type CloseMessage struct { DefaultMessage CloseCode CloseCode `json:"close_code,omitempty"` }
func (*CloseMessage) Encoded ¶
func (m *CloseMessage) Encoded() []byte
type DefaultHandlerTask ¶
type DefaultHandlerTask struct { http.DefaultHandlerTask Builder DefaultMessageBuilder }
func (*DefaultHandlerTask) ErrorCaught ¶
func (h *DefaultHandlerTask) ErrorCaught(ctx channel.HandlerContext, err error)
func (*DefaultHandlerTask) WSBinary ¶
func (h *DefaultHandlerTask) WSBinary(ctx channel.HandlerContext, message *DefaultMessage, params map[string]any)
func (*DefaultHandlerTask) WSClose ¶
func (h *DefaultHandlerTask) WSClose(ctx channel.HandlerContext, message *CloseMessage, params map[string]any)
func (*DefaultHandlerTask) WSConnected ¶
func (*DefaultHandlerTask) WSDisconnected ¶
func (*DefaultHandlerTask) WSErrorCaught ¶
func (h *DefaultHandlerTask) WSErrorCaught(ctx channel.HandlerContext, req *http.Request, resp *http.Response, msg Message, err error)
func (*DefaultHandlerTask) WSPing ¶
func (h *DefaultHandlerTask) WSPing(ctx channel.HandlerContext, message *PingMessage, params map[string]any)
func (*DefaultHandlerTask) WSPong ¶
func (h *DefaultHandlerTask) WSPong(ctx channel.HandlerContext, message *PongMessage, params map[string]any)
func (*DefaultHandlerTask) WSText ¶
func (h *DefaultHandlerTask) WSText(ctx channel.HandlerContext, message *DefaultMessage, params map[string]any)
type DefaultMessage ¶
type DefaultMessage struct { MessageType MessageType `json:"message_type,omitempty"` Message []byte `json:"message,omitempty"` Dead *time.Time `json:"dead,omitempty"` }
func (*DefaultMessage) Deadline ¶
func (m *DefaultMessage) Deadline() *time.Time
func (*DefaultMessage) Encoded ¶
func (m *DefaultMessage) Encoded() []byte
func (*DefaultMessage) StringMessage ¶
func (m *DefaultMessage) StringMessage() string
func (*DefaultMessage) Type ¶
func (m *DefaultMessage) Type() MessageType
type DefaultMessageBuilder ¶
type DefaultMessageBuilder struct{}
func (*DefaultMessageBuilder) Binary ¶
func (b *DefaultMessageBuilder) Binary(msg []byte) *DefaultMessage
func (*DefaultMessageBuilder) Close ¶
func (b *DefaultMessageBuilder) Close(msg []byte, closeCode CloseCode) *CloseMessage
func (*DefaultMessageBuilder) Ping ¶
func (b *DefaultMessageBuilder) Ping(msg []byte, deadline *time.Time) *PingMessage
func (*DefaultMessageBuilder) Pong ¶
func (b *DefaultMessageBuilder) Pong(msg []byte, deadline *time.Time) *PongMessage
func (*DefaultMessageBuilder) Text ¶
func (b *DefaultMessageBuilder) Text(msg string) *DefaultMessage
type DefaultServerHandlerTask ¶
type DefaultServerHandlerTask struct {
DefaultHandlerTask
}
type HandlerTask ¶
type HandlerTask interface { WSPing(ctx channel.HandlerContext, message *PingMessage, params map[string]any) WSPong(ctx channel.HandlerContext, message *PongMessage, params map[string]any) WSClose(ctx channel.HandlerContext, message *CloseMessage, params map[string]any) WSBinary(ctx channel.HandlerContext, message *DefaultMessage, params map[string]any) WSText(ctx channel.HandlerContext, message *DefaultMessage, params map[string]any) WSConnected(ch channel.Channel, req *http.Request, resp *http.Response, params map[string]any) WSDisconnected(ch channel.Channel, req *http.Request, resp *http.Response, params map[string]any) WSErrorCaught(ctx channel.HandlerContext, req *http.Request, resp *http.Response, msg Message, err error) }
type InvokeHandler ¶
type InvokeHandler struct { channel.DefaultHandler DefaultHandlerTask // contains filtered or unexported fields }
func NewInvokeHandler ¶
func NewInvokeHandler(task HandlerTask, params map[string]any) *InvokeHandler
func (*InvokeHandler) Active ¶
func (h *InvokeHandler) Active(ctx channel.HandlerContext)
func (*InvokeHandler) ErrorCaught ¶
func (h *InvokeHandler) ErrorCaught(ctx channel.HandlerContext, err error)
func (*InvokeHandler) Inactive ¶
func (h *InvokeHandler) Inactive(ctx channel.HandlerContext)
func (*InvokeHandler) Read ¶
func (h *InvokeHandler) Read(ctx channel.HandlerContext, obj any)
type MessageBuilder ¶
type MessageBuilder interface { Text(msg string) *DefaultMessage Binary(msg []byte) *DefaultMessage Close(msg []byte, closeCode CloseCode) *CloseMessage Ping(msg []byte, deadline time.Time) *PingMessage Pong(msg []byte, deadline time.Time) *PongMessage }
type MessageType ¶
type MessageType int
type PingMessage ¶
type PingMessage struct {
DefaultMessage
}
type PongMessage ¶
type PongMessage PingMessage
type ServerHandlerTask ¶
type WSCustomConnectConfig ¶
func (*WSCustomConnectConfig) Network ¶
func (c *WSCustomConnectConfig) Network() string
func (*WSCustomConnectConfig) String ¶
func (c *WSCustomConnectConfig) String() string
type WSLogStruct ¶
type WSLogStruct struct { LogType string `json:"log_type,omitempty"` RemoteAddr net.Addr `json:"remote_addr,omitempty"` LocalAddr net.Addr `json:"local_addr,omitempty"` RequestURI string `json:"request_uri,omitempty"` ChannelID string `json:"channel_id,omitempty"` TrackID string `json:"trace_id,omitempty"` Message Message `json:"message,omitempty"` Error error `json:"error,omitempty"` }
type WSUpgradeProcessor ¶
type WSUpgradeProcessor struct { channel.DefaultHandler UpgradeCheckFunc func(req *gtp.Request, resp *gtp.Response, params map[string]any) bool // contains filtered or unexported fields }
func (*WSUpgradeProcessor) Added ¶
func (h *WSUpgradeProcessor) Added(ctx channel.HandlerContext)
func (*WSUpgradeProcessor) Read ¶
func (h *WSUpgradeProcessor) Read(ctx channel.HandlerContext, obj any)
Source Files ¶
Click to show internal directories.
Click to hide internal directories.