summaryrefslogtreecommitdiff
path: root/test/parallel/test-http-server-options-highwatermark.js
blob: 2b96b33f17c91505e0341e17ac257ffccc9e814b (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
37
38
39
40
41
42
43
44
45
46
47
// Flags: --expose-internals
'use strict';
const common = require('../common');
const assert = require('assert');
const http = require('http');
const { kHighWaterMark } = require('_http_outgoing');

const { getDefaultHighWaterMark } = require('internal/streams/state');

function listen(server) {
  server.listen(0, common.mustCall(() => {
    http.get({
      port: server.address().port,
    }, (res) => {
      assert.strictEqual(res.statusCode, 200);
      res.resume().on('end', common.mustCall(() => {
        server.close();
      }));
    });
  }));
}

{
  const server = http.createServer({
    highWaterMark: getDefaultHighWaterMark() * 2,
  }, common.mustCall((req, res) => {
    assert.strictEqual(req._readableState.highWaterMark, getDefaultHighWaterMark() * 2);
    assert.strictEqual(res[kHighWaterMark], getDefaultHighWaterMark() * 2);
    res.statusCode = 200;
    res.end();
  }));

  listen(server);
}

{
  const server = http.createServer(
    common.mustCall((req, res) => {
      assert.strictEqual(req._readableState.highWaterMark, getDefaultHighWaterMark());
      assert.strictEqual(res[kHighWaterMark], getDefaultHighWaterMark());
      res.statusCode = 200;
      res.end();
    })
  );

  listen(server);
}