in internal/kubectl.go [427:451]
func streamLogs(nsn types.NamespacedName, request rest.ResponseWrapper, out io.Writer) error {
stream, err := request.Stream(context.Background())
if err != nil {
return err
}
defer stream.Close()
_, _ = out.Write([]byte(fmt.Sprintf("==== START logs for %s ====\n", nsn.String())))
defer func() {
_, _ = out.Write([]byte(fmt.Sprintf("==== END logs for %s ====\n", nsn.String())))
}()
r := bufio.NewReader(stream)
for {
bytes, err := r.ReadBytes('\n')
if _, err := out.Write(bytes); err != nil {
return err
}
if err != nil {
if err != io.EOF {
return err
}
return nil
}
}
}