11cb0ef41Sopenharmony_ci'use strict'; 21cb0ef41Sopenharmony_ciconst common = require('../common'); 31cb0ef41Sopenharmony_ci 41cb0ef41Sopenharmony_ciconst net = require('net'); 51cb0ef41Sopenharmony_ciconst { HTTPParser } = process.binding('http_parser'); 61cb0ef41Sopenharmony_ci 71cb0ef41Sopenharmony_ciconst server = net.createServer((socket) => { 81cb0ef41Sopenharmony_ci socket.write('HTTP/1.1 200 OK\r\n'); 91cb0ef41Sopenharmony_ci socket.write('Transfer-Encoding: chunked\r\n\r\n'); 101cb0ef41Sopenharmony_ci setTimeout(() => { 111cb0ef41Sopenharmony_ci socket.write('1\r\n'); 121cb0ef41Sopenharmony_ci socket.write('\n\r\n'); 131cb0ef41Sopenharmony_ci setTimeout(() => { 141cb0ef41Sopenharmony_ci socket.write('1\r\n'); 151cb0ef41Sopenharmony_ci socket.write('\n\r\n'); 161cb0ef41Sopenharmony_ci setImmediate(() => { 171cb0ef41Sopenharmony_ci socket.destroy(); 181cb0ef41Sopenharmony_ci server.close(); 191cb0ef41Sopenharmony_ci }); 201cb0ef41Sopenharmony_ci }, 500); 211cb0ef41Sopenharmony_ci }, 500); 221cb0ef41Sopenharmony_ci}).listen(0, () => { 231cb0ef41Sopenharmony_ci const socket = net.connect(server.address().port); 241cb0ef41Sopenharmony_ci const parser = new HTTPParser(HTTPParser.RESPONSE, false); 251cb0ef41Sopenharmony_ci parser.initialize( 261cb0ef41Sopenharmony_ci HTTPParser.RESPONSE, 271cb0ef41Sopenharmony_ci {}, 281cb0ef41Sopenharmony_ci 0, 291cb0ef41Sopenharmony_ci 0, 301cb0ef41Sopenharmony_ci ); 311cb0ef41Sopenharmony_ci 321cb0ef41Sopenharmony_ci parser[HTTPParser.kOnTimeout] = common.mustNotCall(); 331cb0ef41Sopenharmony_ci 341cb0ef41Sopenharmony_ci parser[HTTPParser.kOnHeaders] = common.mustNotCall(); 351cb0ef41Sopenharmony_ci 361cb0ef41Sopenharmony_ci parser[HTTPParser.kOnExecute] = common.mustCallAtLeast(3); 371cb0ef41Sopenharmony_ci 381cb0ef41Sopenharmony_ci parser[HTTPParser.kOnHeadersComplete] = common.mustCall(); 391cb0ef41Sopenharmony_ci 401cb0ef41Sopenharmony_ci parser[HTTPParser.kOnBody] = common.mustCall(2); 411cb0ef41Sopenharmony_ci 421cb0ef41Sopenharmony_ci parser[HTTPParser.kOnMessageComplete] = common.mustNotCall(); 431cb0ef41Sopenharmony_ci 441cb0ef41Sopenharmony_ci parser.consume(socket._handle); 451cb0ef41Sopenharmony_ci}); 46