1'use strict'; 2const common = require('../common'); 3 4// This test ensures that the http-parser doesn't expect a body when 5// a 304 Not Modified response has a non-zero Content-Length header 6 7const assert = require('assert'); 8const http = require('http'); 9 10const server = http.createServer(common.mustCall((req, res) => { 11 res.setHeader('Content-Length', 11); 12 res.statusCode = 304; 13 res.end(null); 14})); 15 16server.listen(0, () => { 17 const request = http.request({ 18 port: server.address().port, 19 }); 20 21 request.on('response', common.mustCall((response) => { 22 response.on('data', common.mustNotCall()); 23 response.on('aborted', common.mustNotCall()); 24 response.on('end', common.mustCall(() => { 25 assert.strictEqual(response.headers['content-length'], '11'); 26 assert.strictEqual(response.statusCode, 304); 27 server.close(); 28 })); 29 })); 30 31 request.end(null); 32}); 33