'use strict'; const common = require('../common'); // Test https://hackerone.com/reports/735748 is fixed. const assert = require('assert'); const http = require('http'); const net = require('net'); const REQUEST_BB = `POST / HTTP/1.1 Content-Type: text/plain; charset=utf-8 Host: hacker.exploit.com Connection: keep-alive Content-Length: 10 Transfer-Encoding: chunked, eee HELLOWORLDPOST / HTTP/1.1 Content-Type: text/plain; charset=utf-8 Host: hacker.exploit.com Connection: keep-alive Content-Length: 28 I AM A SMUGGLED REQUEST!!! `; const server = http.createServer(common.mustNotCall()); server.on('clientError', common.mustCall((err) => { assert.strictEqual(err.code, 'HPE_UNEXPECTED_CONTENT_LENGTH'); server.close(); })); server.listen(0, common.mustCall(() => { const client = net.connect( server.address().port, common.mustCall(() => { client.end(REQUEST_BB.replace(/\n/g, '\r\n')); })); }));