Documentation ¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type HijackedIOStreamer ¶
type HijackedIOStreamer struct {
// contains filtered or unexported fields
}
HijackedIOStreamer handles copying input to and output from streams to the connection.
func NewHijackedStreamer ¶
func NewHijackedStreamer(inStr *In, outStr *Out, inputStream io.ReadCloser, outputStream io.Writer, errorStream io.Writer, resp types.HijackedResponse, tty bool, detachKeys string, logger hclog.Logger) *HijackedIOStreamer
NewHijackedStreamer creates a new stream for reading and writing TTY terminals
func (*HijackedIOStreamer) Stream ¶
func (h *HijackedIOStreamer) Stream(ctx context.Context) error
Stream handles setting up the IO and then begins streaming stdin/stdout to/from the hijacked connection, blocking until it is either done reading output, the user inputs the detach key sequence when in TTY mode, or when the given context is cancelled.
type In ¶
type In struct {
// contains filtered or unexported fields
}
In is an input stream used by the DockerCli to read user input
func (*In) CheckTty ¶
CheckTty checks if we are trying to attach to a container tty from a non-tty client input stream, and if so, returns an error.
func (*In) IsTerminal ¶
func (s *In) IsTerminal() bool
IsTerminal returns true if this stream is connected to a terminal
func (*In) RestoreTerminal ¶
func (s *In) RestoreTerminal()
RestoreTerminal restores normal mode to the terminal
func (*In) SetIsTerminal ¶
func (s *In) SetIsTerminal(isTerminal bool)
SetIsTerminal sets the boolean used for isTerminal
func (*In) SetRawTerminal ¶
SetRawTerminal sets raw mode on the input terminal
type Out ¶
type Out struct {
// contains filtered or unexported fields
}
Out is an output stream used by the DockerCli to write normal program output.
func (*Out) GetTtySize ¶
GetTtySize returns the height and width in characters of the tty
func (*Out) IsTerminal ¶
func (s *Out) IsTerminal() bool
IsTerminal returns true if this stream is connected to a terminal
func (*Out) RestoreTerminal ¶
func (s *Out) RestoreTerminal()
RestoreTerminal restores normal mode to the terminal
func (*Out) SetIsTerminal ¶
func (s *Out) SetIsTerminal(isTerminal bool)
SetIsTerminal sets the boolean used for isTerminal
func (*Out) SetRawTerminal ¶
SetRawTerminal sets raw mode on the input terminal