diff options
author | OpenShift Merge Robot <openshift-merge-robot@users.noreply.github.com> | 2020-05-15 13:19:43 -0700 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-05-15 13:19:43 -0700 |
commit | 343ab99b39771b5084a231a2db8d3dc969f395f9 (patch) | |
tree | 3ecfccf3343d3189bdbe93bbcaab64124edc3804 /pkg/api/handlers/compat/containers_attach.go | |
parent | c61a45caf8d7b4b049fa0124c1829eef138fef63 (diff) | |
parent | 6d1e5c713a3a62ba671c6966af23dc86ed2270dd (diff) | |
download | podman-343ab99b39771b5084a231a2db8d3dc969f395f9.tar.gz podman-343ab99b39771b5084a231a2db8d3dc969f395f9.tar.bz2 podman-343ab99b39771b5084a231a2db8d3dc969f395f9.zip |
Merge pull request #5831 from mheon/exec_http_attach
APIv2 ExecStart (Attached Only)
Diffstat (limited to 'pkg/api/handlers/compat/containers_attach.go')
-rw-r--r-- | pkg/api/handlers/compat/containers_attach.go | 11 |
1 files changed, 7 insertions, 4 deletions
diff --git a/pkg/api/handlers/compat/containers_attach.go b/pkg/api/handlers/compat/containers_attach.go index 52c851b8c..3c9a6fd69 100644 --- a/pkg/api/handlers/compat/containers_attach.go +++ b/pkg/api/handlers/compat/containers_attach.go @@ -13,6 +13,12 @@ import ( "k8s.io/client-go/tools/remotecommand" ) +// AttachHeader is the literal header sent for upgraded/hijacked connections for +// attach, sourced from Docker at: +// https://raw.githubusercontent.com/moby/moby/b95fad8e51bd064be4f4e58a996924f343846c85/api/server/router/container/container_routes.go +// Using literally to ensure compatibility with existing clients. +const AttachHeader = "HTTP/1.1 101 UPGRADED\r\nContent-Type: application/vnd.docker.raw-stream\r\nConnection: Upgrade\r\nUpgrade: tcp\r\n\r\n" + func AttachContainer(w http.ResponseWriter, r *http.Request) { runtime := r.Context().Value("runtime").(*libpod.Runtime) decoder := r.Context().Value("decoder").(*schema.Decoder) @@ -106,10 +112,7 @@ func AttachContainer(w http.ResponseWriter, r *http.Request) { return } - // This header string sourced from Docker: - // https://raw.githubusercontent.com/moby/moby/b95fad8e51bd064be4f4e58a996924f343846c85/api/server/router/container/container_routes.go - // Using literally to ensure compatibility with existing clients. - fmt.Fprintf(connection, "HTTP/1.1 101 UPGRADED\r\nContent-Type: application/vnd.docker.raw-stream\r\nConnection: Upgrade\r\nUpgrade: tcp\r\n\r\n") + fmt.Fprintf(connection, AttachHeader) logrus.Debugf("Hijack for attach of container %s successful", ctr.ID()) |