55 lines
1.5 KiB
Go
55 lines
1.5 KiB
Go
package echo_go
|
|
|
|
import (
|
|
"fmt"
|
|
"net"
|
|
)
|
|
|
|
type MessageType string
|
|
|
|
const (
|
|
ReqServerInfo MessageType = "serverInfoRequest"
|
|
ReqClientSecret = "clientSecret"
|
|
ReqConnection = "connectionRequest"
|
|
ReqDisconnect = "disconnect"
|
|
ReqInfo = "requestInfo"
|
|
ReqUserMessage = "userMessage"
|
|
ReqChangeChannel = "changeChannel"
|
|
ReqHistory = "historyRequest"
|
|
ReqLeaveChannel = "leaveChannel"
|
|
|
|
ResServerInfo = "serverInfo"
|
|
ResClientSecret = "gotSecret"
|
|
ResConnectionAccepted = "CRAccepted"
|
|
ResConnectionDenied = "CRDenied"
|
|
ResOutboundMessage = "outboundMessage"
|
|
ResConnectionTerminated = "connectionTerminated"
|
|
ResChannelUpdate = "channelUpdate"
|
|
ResCommandData = "commandData"
|
|
ResChannelHistory = "channelHistory"
|
|
ResErrorOccurred = "errorOccured"
|
|
ResAdditionalHistory = "additionalHistory"
|
|
)
|
|
|
|
type Client struct {
|
|
Con net.Conn
|
|
UserId string
|
|
SessionKey string
|
|
Username string
|
|
}
|
|
|
|
type RawMessage struct {
|
|
UserId string `json:"userid"`
|
|
MessageType MessageType `json:"messagetype"`
|
|
SubType *string `json:"subtype"`
|
|
Data *string `json:"data"`
|
|
Metadata string `json:"metadata"`
|
|
}
|
|
|
|
func (m *RawMessage) String() string {
|
|
return fmt.Sprintf("\n"+
|
|
" UserId: %v\n"+
|
|
" Type: %v - %v\n"+
|
|
" Data: %v\n"+
|
|
" Metadata: %v", m.UserId, m.MessageType, *m.SubType, *m.Data, m.Metadata)
|
|
}
|