The prototype would be:
(reader *Reader) ReadLineWithMaxLength (delim byte, max int) (line []byte, err error)
It returns a line when either the delim is found or max length is reached.
The prototype would be:
(reader *Reader) ReadLineWithMaxLength (delim byte, max int) (line []byte, err error)
It returns a line when either the delim is found or max length is reached.
I don't think there is a direct function, but implementing one using io.LimitReader
is straightforward.
func ReadLimitedLine(r io.Reader, delim byte, max int64) ([]byte, error) {
l, err := bufio.NewReader(io.LimitReader(r, max)).ReadBytes(delim)
if err != nil && err != io.EOF {
return nil, err
}
// ReadBytes includes the delimiter in return value
return bytes.TrimSuffix(l, []byte{delim}), nil
}