src/server/pkg/exec/exec.go
func (c *Cmd) Output() ([]byte, error) {
	if c.Stdout != nil {
		return nil, errors.New("exec: Stdout already set")
	}
	var stdout bytes.Buffer
	c.Stdout = &stdout

	captureErr := c.Stderr == nil
	if captureErr {
		c.Stderr = &prefixSuffixSaver{N: 32 << 10}
	}

	err := c.Run()
	if err != nil && captureErr {
		if ee, ok := err.(*ExitError); ok {
			ee.Stderr = c.Stderr.(*prefixSuffixSaver).Bytes()
		}
	}
	return stdout.Bytes(), err
}
func (c *Cmd) Output() ([]byte, error) {
	if c.Stdout != nil {
		return nil, errors.New("exec: Stdout already set")
	}
	var stdout bytes.Buffer
	c.Stdout = &stdout

	captureErr := c.Stderr == nil
	if captureErr {
		c.Stderr = &prefixSuffixSaver{N: 32 << 10}
	}

	err := c.Run()
	if err != nil && captureErr {
		if ee, ok := err.(*ExitError); ok {
			ee.Stderr = c.Stderr.(*prefixSuffixSaver).Bytes()
		}
	}
	return stdout.Bytes(), err
}
func ( c * Cmd ) Output ( ) ( [ ] byte , error ) { if c . Stdout != nil { return nil , errors . New ( " " ) } var stdout bytes . Buffer c . Stdout = & stdout captureErr := c . Stderr == nil if captureErr { c . Stderr = & prefixSuffixSaver { N : 32 << 10 } } err := c . Run ( ) if err != nil && captureErr { if ee , ok := err . ( * ExitError ) ; ok { ee . Stderr = c . Stderr . ( * prefixSuffixSaver ) . Bytes ( ) } } return stdout . Bytes ( ) , err }
// Output runs the command and returns its standard output.
// Any returned error will usually be of type *ExitError.
// If c.Stderr was nil, Output populates ExitError.Stderr.
Output runs the command and returns its standard output . Any returned error will usually be of type * ExitError . If c . Stderr was nil Output populates ExitError . Stderr .