code: func (br *bufReader) readTillDelim(delim byte) ([]byte, error) {
  	read, err := br.buf.ReadBytes(delim)
  	if err != nil || len(read) == 0 {
  		return read, err
  	}
  	err = br.buf.UnreadByte()
  	return read[:len(read)-1], err
  }
docs: // readTillDelim reads until the first occurrence of delim in the input,
  // returning a slice containing the data up to and NOT including the delim.
  // If ReadTillDelim encounters an error before finding a delimiter,
  // it returns the data read before the error and the error itself.
  // ReadTillDelim returns err != nil if and only if ReadTillDelim didn't find
  // delim.