From eb0ed773df5c6e80fc21a3523442382d4acd77d2 Mon Sep 17 00:00:00 2001 From: Kirill Merkushev Date: Sat, 3 Mar 2018 23:39:18 +0300 Subject: [PATCH] right demultiplex for docker logs relates https://github.com/aerokube/selenoid-ui/issues/98 --- Gopkg.lock | 4 ++-- selenoid.go | 3 ++- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/Gopkg.lock b/Gopkg.lock index 9e793965..c83aaa34 100644 --- a/Gopkg.lock +++ b/Gopkg.lock @@ -20,7 +20,7 @@ [[projects]] name = "github.com/docker/docker" - packages = ["api","api/types","api/types/blkiodev","api/types/container","api/types/events","api/types/filters","api/types/image","api/types/mount","api/types/network","api/types/registry","api/types/strslice","api/types/swarm","api/types/swarm/runtime","api/types/time","api/types/versions","api/types/volume","client"] + packages = ["api","api/types","api/types/blkiodev","api/types/container","api/types/events","api/types/filters","api/types/image","api/types/mount","api/types/network","api/types/registry","api/types/strslice","api/types/swarm","api/types/swarm/runtime","api/types/time","api/types/versions","api/types/volume","client","pkg/stdcopy"] revision = "92309e34e42aec3a0e041403bdd3c4fc0dc20269" [[projects]] @@ -80,6 +80,6 @@ [solve-meta] analyzer-name = "dep" analyzer-version = 1 - inputs-digest = "de7116c491df8566e62ca53bea50792b7f133ab933d79982467f465cf8742b57" + inputs-digest = "cc8b40851dab9a1120eeff286003a1dfd43413c829e2c3262b3b19f5e3bc539b" solver-name = "gps-cdcl" solver-version = 1 diff --git a/selenoid.go b/selenoid.go index 0f5e2de8..02a172d9 100644 --- a/selenoid.go +++ b/selenoid.go @@ -27,6 +27,7 @@ import ( "github.com/aerokube/selenoid/util" "github.com/docker/docker/api/types" "golang.org/x/net/websocket" + "github.com/docker/docker/pkg/stdcopy" ) var ( @@ -490,7 +491,7 @@ func logs(wsconn *websocket.Conn) { } defer r.Close() wsconn.PayloadType = websocket.BinaryFrame - io.Copy(wsconn, r) + stdcopy.StdCopy(wsconn, wsconn, r) log.Printf("[%d] [CONTAINER_LOGS_DISCONNECTED] [%s]", requestId, sid) } else { log.Printf("[%d] [SESSION_NOT_FOUND] [%s]", requestId, sid)