(handle string, processID string, processIO garden.ProcessIO)
| 186 | } |
| 187 | |
| 188 | func (c *connection) Attach(handle string, processID string, processIO garden.ProcessIO) (garden.Process, error) { |
| 189 | reqBody := new(bytes.Buffer) |
| 190 | |
| 191 | hijackedConn, hijackedResponseReader, err := c.hijacker.Hijack( |
| 192 | routes.Attach, |
| 193 | reqBody, |
| 194 | rata.Params{ |
| 195 | "handle": handle, |
| 196 | "pid": processID, |
| 197 | }, |
| 198 | nil, |
| 199 | "", |
| 200 | ) |
| 201 | if err != nil { |
| 202 | return nil, err |
| 203 | } |
| 204 | |
| 205 | return c.streamProcess(handle, processIO, hijackedConn, hijackedResponseReader) |
| 206 | } |
| 207 | |
| 208 | func (c *connection) streamProcess(handle string, processIO garden.ProcessIO, hijackedConn net.Conn, hijackedResponseReader *bufio.Reader) (garden.Process, error) { |
| 209 | decoder := json.NewDecoder(hijackedResponseReader) |
nothing calls this directly
no test coverage detected