github.com/secure-build/gitlab-runner@v12.5.0+incompatible/executors/docker/tty.go (about)

     1  package docker
     2  
     3  import "github.com/docker/docker/api/types"
     4  
     5  func newDockerTTY(hijackedResp *types.HijackedResponse) *dockerTTY {
     6  	return &dockerTTY{
     7  		hijackedResp: hijackedResp,
     8  	}
     9  }
    10  
    11  type dockerTTY struct {
    12  	hijackedResp *types.HijackedResponse
    13  }
    14  
    15  func (d *dockerTTY) Read(p []byte) (int, error) {
    16  	return d.hijackedResp.Reader.Read(p)
    17  }
    18  
    19  func (d *dockerTTY) Write(p []byte) (int, error) {
    20  	return d.hijackedResp.Conn.Write(p)
    21  }
    22  
    23  func (d *dockerTTY) Close() error {
    24  	d.hijackedResp.Close()
    25  	d.hijackedResp.CloseWrite()
    26  	return nil
    27  }