summaryrefslogtreecommitdiff
path: root/test/parallel/test-http-server-consumed-timeout.js
blob: 362b052ee78d58de13d58d32c402079be6444afb (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
'use strict';

const common = require('../common');
const assert = require('assert');
const http = require('http');

const server = http.createServer((req, res) => {
  server.close();

  res.writeHead(200);
  res.flushHeaders();

  req.setTimeout(common.platformTimeout(200), () => {
    assert(false, 'Should not happen');
  });
  req.resume();
  req.once('end', common.mustCall(() => {
    res.end();
  }));
});

server.listen(0, common.mustCall(() => {
  const req = http.request({
    port: server.address().port,
    method: 'POST'
  }, (res) => {
    const interval = setInterval(() => {
      req.write('a');
    }, common.platformTimeout(25));
    setTimeout(() => {
      clearInterval(interval);
      req.end();
    }, common.platformTimeout(400));
  });
  req.write('.');
}));