Add Gitter support
This commit is contained in:
61
vendor/github.com/mrexodia/wray/response.go
generated
vendored
Normal file
61
vendor/github.com/mrexodia/wray/response.go
generated
vendored
Normal file
@@ -0,0 +1,61 @@
|
||||
package wray
|
||||
|
||||
type Response struct {
|
||||
id string
|
||||
channel string
|
||||
successful bool
|
||||
clientId string
|
||||
supportedConnectionTypes []string
|
||||
messages []Message
|
||||
error error
|
||||
}
|
||||
|
||||
type Message struct {
|
||||
Channel string
|
||||
Id string
|
||||
Data map[string]interface{}
|
||||
}
|
||||
|
||||
func newResponse(data []interface{}) Response {
|
||||
headerData := data[0].(map[string]interface{})
|
||||
messagesData := data[1.:]
|
||||
messages := parseMessages(messagesData)
|
||||
var id string
|
||||
if headerData["id"] != nil {
|
||||
id = headerData["id"].(string)
|
||||
}
|
||||
supportedConnectionTypes := []string{}
|
||||
if headerData["supportedConnectionTypes"] != nil {
|
||||
d := headerData["supportedConnectionTypes"].([]interface{})
|
||||
for _, sct := range(d) {
|
||||
supportedConnectionTypes = append(supportedConnectionTypes, sct.(string))
|
||||
}
|
||||
}
|
||||
var clientId string
|
||||
if headerData["clientId"] != nil {
|
||||
clientId = headerData["clientId"].(string)
|
||||
}
|
||||
return Response{id: id,
|
||||
clientId: clientId,
|
||||
channel: headerData["channel"].(string),
|
||||
successful: headerData["successful"].(bool),
|
||||
messages: messages,
|
||||
supportedConnectionTypes: supportedConnectionTypes}
|
||||
}
|
||||
|
||||
func parseMessages(data []interface{}) []Message {
|
||||
messages := []Message{}
|
||||
for _, messageData := range(data) {
|
||||
m := messageData.(map[string]interface{})
|
||||
var id string
|
||||
if m["id"] != nil {
|
||||
id = m["id"].(string)
|
||||
}
|
||||
message := Message{Channel: m["channel"].(string),
|
||||
Id: id,
|
||||
Data: m["data"].(map[string]interface{})}
|
||||
messages = append(messages, message)
|
||||
}
|
||||
return messages
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user