HTTP Parser issues with newline `\n`

The following issue was found while working against a CouchDB changes stream which uses a newline \n as a form of a heartbeat on a long polling connection.

OS: MacOS, Node 14.6

Will invoke kOnTimeout after kOnHeadersComplete. Also will stop invoking kOnExecute but will keep invoking kOnBody.

Refs: nodejs/undici#268
Refs: nodejs/undici#269

const net = require('net')
const { HTTPParser } = process.binding('http_parser') // eslint-disable-line

net.createServer(socket => {
  socket.write('HTTP/1.1 200 OK\r\n')
  socket.write('Transfer-Encoding: chunked\r\n\r\n')
  setInterval(() => {
    socket.write('1\r\n')
    socket.write('\n\r\n')
  }, 500)
}).listen(3111)

const socket = net.connect(3111, '127.0.0.1')
const parser = new HTTPParser(HTTPParser.RESPONSE, false)
parser.initialize(
  HTTPParser.RESPONSE,
  {},
  0,
  false,
  1e3
)

parser[HTTPParser.kOnTimeout] = () => {
  console.log('kOnTimeout')
}

parser[HTTPParser.kOnHeaders] = (rawHeaders) => {
  console.log('kOnHeaders')
}

parser[HTTPParser.kOnExecute] = (ret) => {
  console.log('kOnExecute')
}

parser[HTTPParser.kOnHeadersComplete] = (versionMajor, versionMinor, rawHeaders, method,
  url, statusCode, statusMessage, upgrade, shouldKeepAlive) => {
  console.log('kOnHeadersComplete')
}

parser[HTTPParser.kOnBody] = (chunk, offset, length) => {
  console.log('kOnBody')
}

parser[HTTPParser.kOnMessageComplete] = () => {
  console.log('kOnMessageComplete')
}

parser.consume(socket._handle)