@@ -47,15 +47,15 @@ func (s *Shard) Open(gateway string) error {
47
47
return ErrWSAlreadyOpen
48
48
}
49
49
s .Gateway = gateway
50
- gateway = gateway + "?v=6&encoding=json&compress=zlib-stream "
50
+ gateway = gateway + "?v=6&encoding=json"
51
51
52
- log .Info ("Shard %d connecting to gateway" , s .ShardId )
52
+ log .Infof ("Shard %d connecting to gateway" , s .ShardId )
53
53
header := http.Header {}
54
54
header .Add ("accept-encoding" , "zlib" )
55
55
56
56
s .Conn , _ , err = websocket .DefaultDialer .Dial (gateway , header )
57
57
if err != nil {
58
- log .Warn ("error connecting to gateway on shard %d" , err )
58
+ log .Warnf ("error connecting to gateway on shard %d" , err )
59
59
s .Conn = nil
60
60
return err
61
61
}
@@ -176,6 +176,7 @@ func (s *Shard) onPayload(wsConn *websocket.Conn, listening <-chan interface{})
176
176
s .RUnlock ()
177
177
178
178
if sameConnection {
179
+ log .Warnf ("error reading from gateway on shard %d: %s" , s .ShardId , err )
179
180
err := s .Close ()
180
181
if err != nil {
181
182
log .Warn ("error closing connection, %s" , err )
@@ -203,30 +204,34 @@ func (s *Shard) Dispatch(messageType int, message []byte) (*GatewayPayload, erro
203
204
var err error
204
205
var e * GatewayPayload
205
206
buffer = bytes .NewBuffer (message )
206
-
207
+ log . Debugf ( "Got event on shard %d" , s . ShardId )
207
208
if messageType == websocket .BinaryMessage {
208
209
decompressor , zerr := zlib .NewReader (buffer )
209
210
if zerr != nil {
210
- log .Error ("error decompressing message: %s" , zerr )
211
+ log .Errorf ("error decompressing message: %s" , zerr )
212
+ return nil , zerr
211
213
}
212
214
213
215
defer func () {
214
216
zerr := decompressor .Close ()
215
217
if zerr != nil {
216
- log .Warn ("error closing zlib: %s" , zerr )
218
+ log .Warnf ("error closing zlib: %s" , zerr )
219
+ return
217
220
}
218
221
}()
219
222
220
223
buffer = decompressor
221
224
}
222
225
226
+ log .Debugf ("Decompressed message on shard %d" , s .ShardId )
227
+
223
228
decoder := json .NewDecoder (buffer )
224
229
if err = decoder .Decode (& e ); err != nil {
225
230
log .Error ("error decoding message: %s" , err )
226
231
return e , err
227
232
}
228
233
229
- log .Debug ("Op: %d, Seq: %d, Type: %s, Data: %s\n \n " , e .Op , e .Sequence , e .Event , string (e .Data ))
234
+ log .Debugf ("Op: %d, Seq: %d, Type: %s, Data: %s\n \n " , e .Op , e .Sequence , e .Event , string (e .Data ))
230
235
231
236
switch e .Op {
232
237
case OP_HEARTBEAT :
@@ -246,7 +251,7 @@ func (s *Shard) Dispatch(messageType int, message []byte) (*GatewayPayload, erro
246
251
case OP_INVALID_SESSION :
247
252
err = s .Identify ()
248
253
if err != nil {
249
- log .Error ("error identifying with gateway: %s" , err )
254
+ log .Errorf ("error identifying with gateway: %s" , err )
250
255
return e , err
251
256
}
252
257
return e , nil
@@ -256,14 +261,15 @@ func (s *Shard) Dispatch(messageType int, message []byte) (*GatewayPayload, erro
256
261
s .Lock ()
257
262
s .LastHeartbeatAck = time .Now ().UTC ()
258
263
s .Unlock ()
259
- log .Debug ("got heartbeat ACK" )
264
+ log .Debugf ("got heartbeat ACK" )
260
265
return e , nil
261
266
case OP_DISPATCH :
262
267
// Dispatch the message
263
268
atomic .StoreInt64 (s .Sequence , e .Sequence )
269
+ log .Debugf ("Got event %s on shard %d" , e .Event , s .ShardId )
264
270
return e , nil
265
271
default :
266
- log .Warn ("Unknown Op: %d" , e .Op )
272
+ log .Warnf ("Unknown Op: %d" , e .Op )
267
273
return e , nil
268
274
}
269
275
}
0 commit comments