mirror of
https://github.com/d0zingcat/gocryptotrader.git
synced 2026-05-21 15:10:12 +00:00
Fix websocket API due to exchange update. Uncompresses binary messages. (#198)
This commit is contained in:
@@ -1,8 +1,11 @@
|
||||
package okex
|
||||
|
||||
import (
|
||||
"bytes"
|
||||
"compress/flate"
|
||||
"errors"
|
||||
"fmt"
|
||||
"io/ioutil"
|
||||
"log"
|
||||
"net/http"
|
||||
"net/url"
|
||||
@@ -132,13 +135,31 @@ func (o *OKEX) WsReadData() {
|
||||
return
|
||||
|
||||
default:
|
||||
_, resp, err := o.WebsocketConn.ReadMessage()
|
||||
mType, resp, err := o.WebsocketConn.ReadMessage()
|
||||
if err != nil {
|
||||
o.Websocket.DataHandler <- err
|
||||
return
|
||||
}
|
||||
|
||||
o.Websocket.TrafficAlert <- struct{}{}
|
||||
o.Websocket.Intercomm <- exchange.WebsocketResponse{Raw: resp}
|
||||
|
||||
var standardMessage []byte
|
||||
|
||||
switch mType {
|
||||
case websocket.TextMessage:
|
||||
standardMessage = resp
|
||||
|
||||
case websocket.BinaryMessage:
|
||||
reader := flate.NewReader(bytes.NewReader(resp))
|
||||
standardMessage, err = ioutil.ReadAll(reader)
|
||||
reader.Close()
|
||||
if err != nil {
|
||||
o.Websocket.DataHandler <- err
|
||||
return
|
||||
}
|
||||
}
|
||||
|
||||
o.Websocket.Intercomm <- exchange.WebsocketResponse{Raw: standardMessage}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user