code: func (r *LineReader) Read() ([]byte, error) {
  	var (
  		isPrefix bool  = true
  		err      error = nil
  		line     []byte
  		buffer   bytes.Buffer
  	)
  
  	for isPrefix && err == nil {
  		line, isPrefix, err = r.reader.ReadLine()
  		buffer.Write(line)
  	}
  	buffer.WriteByte('\n')
  	return buffer.Bytes(), err
  }
docs: // Read returns a single line (with '\n' ended) from the underlying reader.
  // An error is returned iff there is an error with the underlying reader.