1'use strict';
2
3const common = require('../common');
4const assert = require('assert');
5const http = require('http');
6const net = require('net');
7
8const originalConnect = net.Socket.prototype.connect;
9
10net.Socket.prototype.connect = common.mustCall(function(args) {
11  assert.strictEqual(args[0].noDelay, true);
12  return originalConnect.call(this, args);
13});
14
15const server = http.createServer(common.mustCall((req, res) => {
16  res.writeHead(200);
17  res.end();
18  server.close();
19}));
20
21server.listen(0, common.mustCall(() => {
22  assert.strictEqual(server.noDelay, true);
23
24  const req = http.request({
25    method: 'GET',
26    port: server.address().port
27  }, common.mustCall((res) => {
28    res.on('end', () => {
29      server.close();
30      res.req.socket.end();
31    });
32
33    res.resume();
34  }));
35
36  req.end();
37}));
38