From b5e45827fd8e52811367775f1db5b5561543664b Mon Sep 17 00:00:00 2001 From: Bruce Marriner Date: Sun, 10 Jan 2016 19:01:34 -0600 Subject: [PATCH] Better error checking for New() and Gateway() funcs, closes #75 --- discord.go | 2 ++ restapi.go | 14 ++++++++++++-- 2 files changed, 14 insertions(+), 2 deletions(-) diff --git a/discord.go b/discord.go index 9550055..1ec1844 100644 --- a/discord.go +++ b/discord.go @@ -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. diff --git a/restapi.go b/restapi.go index cca5720..c95eb59 100644 --- a/restapi.go +++ b/restapi.go @@ -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 }