From 62516f66cedcc026d13f8c2d7b8e1e0f75f9c4d3 Mon Sep 17 00:00:00 2001 From: ACoolName Date: Mon, 27 May 2024 20:18:37 +0300 Subject: [PATCH] added resize --- servers/servers.go | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/servers/servers.go b/servers/servers.go index 8225d4d..7783463 100644 --- a/servers/servers.go +++ b/servers/servers.go @@ -496,8 +496,8 @@ func (con Connection) RunCommand(ctx *gin.Context) { } type Commands struct { - CommandType string `json:"CommandType"` - Arguments []string `json:"Arguments"` + CommandType string `json:"CommandType"` + Arguments []any `json:"Arguments"` } func (con Connection) AttachServer(ctx *gin.Context) { @@ -581,7 +581,7 @@ func (con Connection) AttachServer(ctx *gin.Context) { case Command := <-websocketRead: switch Command.CommandType { case "insert": - _, err = hijacked.Conn.Write([]byte(Command.Arguments[0])) + _, err = hijacked.Conn.Write([]byte(Command.Arguments[0].(string))) if err != nil { stop = true break @@ -589,6 +589,11 @@ func (con Connection) AttachServer(ctx *gin.Context) { case "close": stop = true + case "resize": + err = con.dockerClient.ContainerResize(context.TODO(), containers[0].ID, container.ResizeOptions{Height: Command.Arguments[0].(uint), Width: Command.Arguments[1].(uint)}) + if err != nil { + log.Printf("Failed to resize terminal to %dx%d: %s", Command.Arguments[0].(uint), Command.Arguments[1].(uint), err) + } } case data := <-containerRead: