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) }