diff --git a/Gopkg.lock b/Gopkg.lock index 598f11735..275659522 100644 --- a/Gopkg.lock +++ b/Gopkg.lock @@ -1272,7 +1272,7 @@ "roundrobin", "utils" ] - revision = "a3ed5f65204f4ffccbb56d58cec466cdb7ab730b" + revision = "fb889e801a26e7e18ef36322ac72a07157f8cc1f" [[projects]] name = "github.com/vulcand/predicate" diff --git a/vendor/github.com/vulcand/oxy/forward/fwd.go b/vendor/github.com/vulcand/oxy/forward/fwd.go index 337d5eff5..cd057f59c 100644 --- a/vendor/github.com/vulcand/oxy/forward/fwd.go +++ b/vendor/github.com/vulcand/oxy/forward/fwd.go @@ -395,6 +395,15 @@ func (f *httpForwarder) serveWebSocket(w http.ResponseWriter, req *http.Request, errClient := make(chan error, 1) errBackend := make(chan error, 1) replicateWebsocketConn := func(dst, src *websocket.Conn, errc chan error) { + + src.SetPingHandler(func(data string) error { + return dst.WriteMessage(websocket.PingMessage, []byte(data)) + }) + + src.SetPongHandler(func(data string) error { + return dst.WriteMessage(websocket.PongMessage, []byte(data)) + }) + for { msgType, msg, err := src.ReadMessage()