• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1'use strict';
2
3const common = require('../common');
4const http = require('http');
5const net = require('net');
6const assert = require('assert');
7
8// Verify that a request with a space before the content length will result
9// in a 400 Bad Request.
10
11const server = http.createServer(common.mustNotCall());
12
13server.listen(0, common.mustCall(start));
14
15function start() {
16  const sock = net.connect(server.address().port);
17
18  sock.write('GET / HTTP/1.1\r\nHost: localhost:5000\r\n' +
19    'Content-Length : 5\r\n\r\nhello');
20
21  let body = '';
22  sock.setEncoding('utf8');
23  sock.on('data', (chunk) => {
24    body += chunk;
25  });
26  sock.on('end', common.mustCall(function() {
27    assert.strictEqual(body, 'HTTP/1.1 400 Bad Request\r\n' +
28      'Connection: close\r\n\r\n');
29    server.close();
30  }));
31}
32