| 'use strict'; |
| |
| const common = require('../common'); |
| const http = require('http'); |
| const assert = require('assert'); |
| |
| // The callback should never be invoked because the server |
| // should respond with a 400 Client Error when a double |
| // Content-Length header is received. |
| const server = http.createServer(common.mustNotCall()); |
| server.on('clientError', common.mustCall((err, socket) => { |
| assert(/^Parse Error/.test(err.message)); |
| assert.strictEqual(err.code, 'HPE_UNEXPECTED_CONTENT_LENGTH'); |
| socket.destroy(); |
| })); |
| |
| server.listen(0, () => { |
| const req = http.get({ |
| port: server.address().port, |
| // Send two content-length header values. |
| headers: { 'Content-Length': [1, 2] } |
| }, common.mustNotCall('an error should have occurred')); |
| req.on('error', common.mustCall(() => { |
| server.close(); |
| })); |
| }); |