| 123456789101112131415161718192021222324252627282930313233343536373839 |
- package commands
- import "io"
- // StringWriter is how a command talks back to whoever invoked it: one stream, which the
- // ssh surface points at its channel.
- type StringWriter interface {
- WriteLine(string) error
- Write(string) error
- WriteBytes([]byte) error
- GetWriter() io.Writer
- }
- type stringWriter struct {
- w io.Writer
- }
- // NewStringWriter returns a StringWriter that writes to w.
- func NewStringWriter(w io.Writer) StringWriter {
- return &stringWriter{w: w}
- }
- func (w *stringWriter) WriteLine(s string) error {
- return w.Write(s + "\n")
- }
- func (w *stringWriter) Write(s string) error {
- _, err := w.w.Write([]byte(s))
- return err
- }
- func (w *stringWriter) WriteBytes(b []byte) error {
- _, err := w.w.Write(b)
- return err
- }
- func (w *stringWriter) GetWriter() io.Writer {
- return w.w
- }
|