Better error checking for New() and Gateway() funcs, closes #75

This commit is contained in:
Bruce Marriner 2016-01-10 19:01:34 -06:00
parent 6f6b1d360c
commit b5e45827fd
2 changed files with 14 additions and 2 deletions

View file

@ -103,12 +103,14 @@ func New(args ...interface{}) (s *Session, err error) {
err = s.Open()
if err != nil {
fmt.Println(err)
return
}
// Do websocket handshake.
err = s.Handshake()
if err != nil {
fmt.Println(err)
return
}
// Listen for events.

View file

@ -674,9 +674,19 @@ func (s *Session) VoiceICE() (st *VoiceICE, err error) {
func (s *Session) Gateway() (gateway string, err error) {
response, err := s.Request("GET", GATEWAY, nil)
if err != nil {
return
}
temp := struct {
URL string `json:"url"`
}{}
var temp map[string]interface{}
err = json.Unmarshal(response, &temp)
gateway = temp["url"].(string)
if err != nil {
return
}
gateway = temp.URL
return
}