Files
docker-docs/vendor/src/github.com/docker/engine-api/client/container_attach.go
David Calavera 9927e712c0 Vendor engine-api project.
Use latest tag for both, engine-api and go-connections.

Signed-off-by: David Calavera <david.calavera@gmail.com>
2016-01-06 19:46:06 -05:00

34 lines
924 B
Go

package client
import (
"net/url"
"github.com/docker/engine-api/types"
)
// ContainerAttach attaches a connection to a container in the server.
// It returns a types.HijackedConnection with the hijacked connection
// and the a reader to get output. It's up to the called to close
// the hijacked connection by calling types.HijackedResponse.Close.
func (cli *Client) ContainerAttach(options types.ContainerAttachOptions) (types.HijackedResponse, error) {
query := url.Values{}
if options.Stream {
query.Set("stream", "1")
}
if options.Stdin {
query.Set("stdin", "1")
}
if options.Stdout {
query.Set("stdout", "1")
}
if options.Stderr {
query.Set("stderr", "1")
}
if options.DetachKeys != "" {
query.Set("detachKeys", options.DetachKeys)
}
headers := map[string][]string{"Content-Type": {"text/plain"}}
return cli.postHijacked("/containers/"+options.ContainerID+"/attach", query, nil, headers)
}