|
@@ -887,7 +887,11 @@ func postContainersAttach(eng *engine.Engine, version version.Version, w http.Re
|
|
|
|
|
|
var errStream io.Writer
|
|
var errStream io.Writer
|
|
|
|
|
|
- fmt.Fprintf(outStream, "HTTP/1.1 101 UPGRADED\r\nContent-Type: application/vnd.docker.raw-stream\r\nConnection: Upgrade\r\nUpgrade: tcp\r\n\r\n")
|
|
|
|
|
|
+ if _, ok := r.Header["Upgrade"]; ok {
|
|
|
|
+ fmt.Fprintf(outStream, "HTTP/1.1 101 UPGRADED\r\nContent-Type: application/vnd.docker.raw-stream\r\nConnection: Upgrade\r\nUpgrade: tcp\r\n\r\n")
|
|
|
|
+ } else {
|
|
|
|
+ fmt.Fprintf(outStream, "HTTP/1.1 200 OK\r\nContent-Type: application/vnd.docker.raw-stream\r\n\r\n")
|
|
|
|
+ }
|
|
|
|
|
|
if c.GetSubEnv("Config") != nil && !c.GetSubEnv("Config").GetBool("Tty") && version.GreaterThanOrEqualTo("1.6") {
|
|
if c.GetSubEnv("Config") != nil && !c.GetSubEnv("Config").GetBool("Tty") && version.GreaterThanOrEqualTo("1.6") {
|
|
errStream = stdcopy.NewStdWriter(outStream, stdcopy.Stderr)
|
|
errStream = stdcopy.NewStdWriter(outStream, stdcopy.Stderr)
|
|
@@ -1137,7 +1141,12 @@ func postContainerExecStart(eng *engine.Engine, version version.Version, w http.
|
|
|
|
|
|
var errStream io.Writer
|
|
var errStream io.Writer
|
|
|
|
|
|
- fmt.Fprintf(outStream, "HTTP/1.1 101 UPGRADED\r\nContent-Type: application/vnd.docker.raw-stream\r\nConnection: Upgrade\r\nUpgrade: tcp\r\n\r\n")
|
|
|
|
|
|
+ if _, ok := r.Header["Upgrade"]; ok {
|
|
|
|
+ fmt.Fprintf(outStream, "HTTP/1.1 101 UPGRADED\r\nContent-Type: application/vnd.docker.raw-stream\r\nConnection: Upgrade\r\nUpgrade: tcp\r\n\r\n")
|
|
|
|
+ } else {
|
|
|
|
+ fmt.Fprintf(outStream, "HTTP/1.1 200 OK\r\nContent-Type: application/vnd.docker.raw-stream\r\n\r\n")
|
|
|
|
+ }
|
|
|
|
+
|
|
if !job.GetenvBool("Tty") && version.GreaterThanOrEqualTo("1.6") {
|
|
if !job.GetenvBool("Tty") && version.GreaterThanOrEqualTo("1.6") {
|
|
errStream = stdcopy.NewStdWriter(outStream, stdcopy.Stderr)
|
|
errStream = stdcopy.NewStdWriter(outStream, stdcopy.Stderr)
|
|
outStream = stdcopy.NewStdWriter(outStream, stdcopy.Stdout)
|
|
outStream = stdcopy.NewStdWriter(outStream, stdcopy.Stdout)
|