From 8b1a00b6d93e51bb8e63983f5162c213942825fe Mon Sep 17 00:00:00 2001 From: Jordan Liggitt Date: Thu, 25 Aug 2016 14:24:59 -0400 Subject: [PATCH] Send ping frame using specified encoding If base-64 encoding was requested, send the ping frame as a 0-length text frame, rather than as a 0-length binary frame. --- pkg/util/wsstream/stream.go | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/pkg/util/wsstream/stream.go b/pkg/util/wsstream/stream.go index 783289a9829..a877a8eeefd 100644 --- a/pkg/util/wsstream/stream.go +++ b/pkg/util/wsstream/stream.go @@ -143,8 +143,14 @@ func messageCopy(ws *websocket.Conn, r io.Reader, base64Encode, ping bool, timeo buf := make([]byte, 2048) if ping { resetTimeout(ws, timeout) - if err := websocket.Message.Send(ws, []byte{}); err != nil { - return err + if base64Encode { + if err := websocket.Message.Send(ws, ""); err != nil { + return err + } + } else { + if err := websocket.Message.Send(ws, []byte{}); err != nil { + return err + } } } for {