summaryrefslogtreecommitdiff
path: root/pkg/api/handlers/compat
diff options
context:
space:
mode:
authorMatthew Heon <matthew.heon@pm.me>2020-05-27 17:01:12 -0400
committerMatthew Heon <mheon@redhat.com>2020-06-01 17:24:00 -0400
commit45a7e7266e14f2b759806f05eeb526d0524cf648 (patch)
treeb4cf932629e5047afd1927cd41a27633815e9e4f /pkg/api/handlers/compat
parent990514ea92b9b50dfb95dc0e505e11a21578a649 (diff)
downloadpodman-45a7e7266e14f2b759806f05eeb526d0524cf648.tar.gz
podman-45a7e7266e14f2b759806f05eeb526d0524cf648.tar.bz2
podman-45a7e7266e14f2b759806f05eeb526d0524cf648.zip
Add bindings for exec and enable attached remote
This adds bindings for starting exec sessions, and then uses them to wire up detached exec. Code is heavily based on Attach code for containers, slightly modified to handle exec sessions. Bindings are presently attached-only, detached is pending on a Conmon update landing in CI. I'll probably get to that next. Signed-off-by: Matthew Heon <matthew.heon@pm.me>
Diffstat (limited to 'pkg/api/handlers/compat')
-rw-r--r--pkg/api/handlers/compat/resize.go4
1 files changed, 3 insertions, 1 deletions
diff --git a/pkg/api/handlers/compat/resize.go b/pkg/api/handlers/compat/resize.go
index 231b53175..478a8fab4 100644
--- a/pkg/api/handlers/compat/resize.go
+++ b/pkg/api/handlers/compat/resize.go
@@ -8,6 +8,7 @@ import (
"github.com/containers/libpod/libpod"
"github.com/containers/libpod/libpod/define"
"github.com/containers/libpod/pkg/api/handlers/utils"
+ "github.com/gorilla/mux"
"github.com/gorilla/schema"
"github.com/pkg/errors"
"k8s.io/client-go/tools/remotecommand"
@@ -37,9 +38,9 @@ func ResizeTTY(w http.ResponseWriter, r *http.Request) {
}
var status int
- name := utils.GetName(r)
switch {
case strings.Contains(r.URL.Path, "/containers/"):
+ name := utils.GetName(r)
ctnr, err := runtime.LookupContainer(name)
if err != nil {
utils.ContainerNotFound(w, name, err)
@@ -61,6 +62,7 @@ func ResizeTTY(w http.ResponseWriter, r *http.Request) {
// reasons.
status = http.StatusOK
case strings.Contains(r.URL.Path, "/exec/"):
+ name := mux.Vars(r)["id"]
ctnr, err := runtime.GetExecSessionContainer(name)
if err != nil {
utils.SessionNotFound(w, name, err)