added kubernetes - NOT TESTED
This commit is contained in:
@@ -269,9 +269,9 @@ func (con ServersApi) RunCommand(ctx *gin.Context) {
|
||||
}
|
||||
|
||||
console := *consolePointer
|
||||
defer console.Close()
|
||||
defer console.Conn.Close()
|
||||
|
||||
_, err = console.Write([]byte(request.Command + "\n"))
|
||||
_, err = console.Conn.Write([]byte(request.Command + "\n"))
|
||||
if err != nil {
|
||||
ctx.AbortWithError(500, err)
|
||||
return
|
||||
@@ -289,6 +289,7 @@ func (con ServersApi) AttachServer(ctx *gin.Context) {
|
||||
serverId := ctx.Param("server_id")
|
||||
stop := false
|
||||
var err error
|
||||
var hijackedPointer *instancemanager.TerminalConnection
|
||||
|
||||
websocketRead := make(chan Commands)
|
||||
containerRead := make(chan string)
|
||||
@@ -301,13 +302,13 @@ func (con ServersApi) AttachServer(ctx *gin.Context) {
|
||||
close(containerRead)
|
||||
}()
|
||||
|
||||
hijackedPointer, err := con.InstanceManager.InteractiveTerminal(ctx, serverId)
|
||||
hijackedPointer, err = con.InstanceManager.InteractiveTerminal(ctx, serverId)
|
||||
if err != nil {
|
||||
ctx.AbortWithError(500, err)
|
||||
return
|
||||
}
|
||||
hijacked := *hijackedPointer
|
||||
defer hijacked.Close()
|
||||
defer hijacked.Conn.Close()
|
||||
|
||||
ws, err := upgrader.Upgrade(ctx.Writer, ctx.Request, nil)
|
||||
if err != nil {
|
||||
@@ -322,10 +323,10 @@ func (con ServersApi) AttachServer(ctx *gin.Context) {
|
||||
if stop {
|
||||
break
|
||||
}
|
||||
count, err := hijacked.Read(data)
|
||||
count, err := hijacked.Conn.Read(data)
|
||||
if err != nil {
|
||||
time.Sleep(500)
|
||||
hijackedPointer, err := con.InstanceManager.InteractiveTerminal(ctx, serverId)
|
||||
hijackedPointer, err = con.InstanceManager.InteractiveTerminal(ctx, serverId)
|
||||
if err != nil {
|
||||
ctx.AbortWithError(500, err)
|
||||
stop = true
|
||||
@@ -367,7 +368,7 @@ func (con ServersApi) AttachServer(ctx *gin.Context) {
|
||||
case Command := <-websocketRead:
|
||||
switch Command.CommandType {
|
||||
case "insert":
|
||||
_, err = hijacked.Write([]byte(Command.Arguments))
|
||||
_, err = hijacked.Conn.Write([]byte(Command.Arguments))
|
||||
if err != nil {
|
||||
log.Printf("Write to docker failed %s", errors.Unwrap(err))
|
||||
|
||||
@@ -392,7 +393,7 @@ func (con ServersApi) AttachServer(ctx *gin.Context) {
|
||||
}
|
||||
height := uint(i_height)
|
||||
|
||||
err2 = con.InstanceManager.ResizeTerminal(ctx, serverId, width, height)
|
||||
err2 = hijacked.ResizerFunc(width, height)
|
||||
if err2 != nil {
|
||||
log.Printf("Failed to resize container to %dx%d: %s", width, height, err)
|
||||
}
|
||||
|
Reference in New Issue
Block a user