Added some godocs to a few websocket related structs (#13451)
* Added some godocs to a few websocket related structs * Incoporate review comments * Fix more review comments
Этот коммит содержится в:
коммит произвёл
Joram Wilander
родитель
80dd2915db
Коммит
f2a14ae976
@@ -17,17 +17,19 @@ const (
|
|||||||
PING_TIMEOUT_BUFFER_SECONDS = 5
|
PING_TIMEOUT_BUFFER_SECONDS = 5
|
||||||
)
|
)
|
||||||
|
|
||||||
|
// WebSocketClient stores the necessary information required to
|
||||||
|
// communicate with a WebSocket endpoint.
|
||||||
type WebSocketClient struct {
|
type WebSocketClient struct {
|
||||||
Url string // The location of the server like "ws://localhost:8065"
|
Url string // The location of the server like "ws://localhost:8065"
|
||||||
ApiUrl string // The api location of the server like "ws://localhost:8065/api/v3"
|
ApiUrl string // The API location of the server like "ws://localhost:8065/api/v3"
|
||||||
ConnectUrl string // The websocket URL to connect to like "ws://localhost:8065/api/v3/path/to/websocket"
|
ConnectUrl string // The WebSocket URL to connect to like "ws://localhost:8065/api/v3/path/to/websocket"
|
||||||
Conn *websocket.Conn // The WebSocket connection
|
Conn *websocket.Conn // The WebSocket connection
|
||||||
AuthToken string // The token used to open the WebSocket
|
AuthToken string // The token used to open the WebSocket connection
|
||||||
Sequence int64 // The ever-incrementing sequence attached to each WebSocket action
|
Sequence int64 // The ever-incrementing sequence attached to each WebSocket action
|
||||||
PingTimeoutChannel chan bool // The channel used to signal ping timeouts
|
PingTimeoutChannel chan bool // The channel used to signal ping timeouts
|
||||||
EventChannel chan *WebSocketEvent
|
EventChannel chan *WebSocketEvent // The channel used to receive various events pushed from the server. For example: typing, posted
|
||||||
ResponseChannel chan *WebSocketResponse
|
ResponseChannel chan *WebSocketResponse // The channel used to receive responses for requests made to the server
|
||||||
ListenError *AppError
|
ListenError *AppError // A field that is set if there was an abnormal closure of the WebSocket connection
|
||||||
pingTimeoutTimer *time.Timer
|
pingTimeoutTimer *time.Timer
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -199,11 +199,14 @@ func WebSocketEventFromJson(data io.Reader) *WebSocketEvent {
|
|||||||
return &ev
|
return &ev
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// WebSocketResponse represents a response received through the WebSocket
|
||||||
|
// for a request made to the server. This is available through the ResponseChannel
|
||||||
|
// channel in WebSocketClient.
|
||||||
type WebSocketResponse struct {
|
type WebSocketResponse struct {
|
||||||
Status string `json:"status"`
|
Status string `json:"status"` // The status of the response. For example: OK, FAIL.
|
||||||
SeqReply int64 `json:"seq_reply,omitempty"`
|
SeqReply int64 `json:"seq_reply,omitempty"` // A counter which is incremented for every response sent.
|
||||||
Data map[string]interface{} `json:"data,omitempty"`
|
Data map[string]interface{} `json:"data,omitempty"` // The data contained in the response.
|
||||||
Error *AppError `json:"error,omitempty"`
|
Error *AppError `json:"error,omitempty"` // A field that is set if any error has occurred.
|
||||||
}
|
}
|
||||||
|
|
||||||
func (m *WebSocketResponse) Add(key string, value interface{}) {
|
func (m *WebSocketResponse) Add(key string, value interface{}) {
|
||||||
|
|||||||
@@ -10,11 +10,12 @@ import (
|
|||||||
goi18n "github.com/mattermost/go-i18n/i18n"
|
goi18n "github.com/mattermost/go-i18n/i18n"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
// WebSocketRequest represents a request made to the server through a websocket.
|
||||||
type WebSocketRequest struct {
|
type WebSocketRequest struct {
|
||||||
// Client-provided fields
|
// Client-provided fields
|
||||||
Seq int64 `json:"seq"`
|
Seq int64 `json:"seq"` // A counter which is incremented for every request made.
|
||||||
Action string `json:"action"`
|
Action string `json:"action"` // The action to perform for a request. For example: get_statuses, user_typing.
|
||||||
Data map[string]interface{} `json:"data"`
|
Data map[string]interface{} `json:"data"` // The metadata for an action.
|
||||||
|
|
||||||
// Server-provided fields
|
// Server-provided fields
|
||||||
Session Session `json:"-"`
|
Session Session `json:"-"`
|
||||||
|
|||||||
Ссылка в новой задаче
Block a user