summaryrefslogtreecommitdiffstats
path: root/vendor/github.com/matterbridge/gozulipbot/queue.go
diff options
context:
space:
mode:
authorWim <wim@42.be>2019-02-13 00:29:34 +0100
committerWim <wim@42.be>2019-02-13 00:29:34 +0100
commit5af1d8005509e42102b2e2c2319b1fd754bb46f3 (patch)
tree5d2673ca96f3232fbdf9f0cefc913dbbde293220 /vendor/github.com/matterbridge/gozulipbot/queue.go
parentf236d12166a8ae186b251fee15b88d774dabc69c (diff)
downloadmatterbridge-msglm-5af1d8005509e42102b2e2c2319b1fd754bb46f3.tar.gz
matterbridge-msglm-5af1d8005509e42102b2e2c2319b1fd754bb46f3.tar.bz2
matterbridge-msglm-5af1d8005509e42102b2e2c2319b1fd754bb46f3.zip
Do not panic on non-json response from server (zulip)
Diffstat (limited to 'vendor/github.com/matterbridge/gozulipbot/queue.go')
-rw-r--r--vendor/github.com/matterbridge/gozulipbot/queue.go5
1 files changed, 5 insertions, 0 deletions
diff --git a/vendor/github.com/matterbridge/gozulipbot/queue.go b/vendor/github.com/matterbridge/gozulipbot/queue.go
index af32bb6e..d6e910ee 100644
--- a/vendor/github.com/matterbridge/gozulipbot/queue.go
+++ b/vendor/github.com/matterbridge/gozulipbot/queue.go
@@ -1,6 +1,7 @@
package gozulipbot
import (
+ "bytes"
"encoding/json"
"fmt"
"io/ioutil"
@@ -18,6 +19,7 @@ var (
BackoffError = fmt.Errorf("Too many requests")
BadEventQueueError = fmt.Errorf("BAD_EVENT_QUEUE_ID error")
UnknownError = fmt.Errorf("Error was unknown")
+ NoJSONError = fmt.Errorf("No JSON in body found")
)
type Queue struct {
@@ -150,6 +152,9 @@ func (q *Queue) GetEvents() ([]EventMessage, error) {
case resp.StatusCode == 403:
return nil, UnauthorizedError
case resp.StatusCode >= 400:
+ if bytes.HasPrefix(body, []byte("<")) {
+ return nil, NoJSONError
+ }
qErr, err := q.ParseError(body)
if err != nil || qErr == nil {
return nil, UnknownError