From 5af1d8005509e42102b2e2c2319b1fd754bb46f3 Mon Sep 17 00:00:00 2001 From: Wim Date: Wed, 13 Feb 2019 00:29:34 +0100 Subject: Do not panic on non-json response from server (zulip) --- bridge/zulip/zulip.go | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) (limited to 'bridge/zulip') diff --git a/bridge/zulip/zulip.go b/bridge/zulip/zulip.go index 165bdb18..3c6c7ec6 100644 --- a/bridge/zulip/zulip.go +++ b/bridge/zulip/zulip.go @@ -104,6 +104,9 @@ func (b *Bzulip) handleQueue() error { switch err { case gzb.BackoffError: time.Sleep(time.Second * 5) + case gzb.NoJSONError: + b.Log.Error("Response wasn't JSON, server down or restarting? sleeping 10 seconds") + time.Sleep(time.Second * 10) case gzb.BadEventQueueError: b.Log.Info("got a bad event queue id error, reconnecting") b.bot.Queues = nil @@ -113,10 +116,14 @@ func (b *Bzulip) handleQueue() error { time.Sleep(time.Second * 10) continue } - continue + case gzb.HeartbeatError: + b.Log.Debug("heartbeat received.") default: b.Log.Debugf("receiving error: %#v", err) } + if err != nil { + continue + } for _, m := range messages { b.Log.Debugf("== Receiving %#v", m) // ignore our own messages -- cgit v1.2.3