diff options
author | Luigi Pinca <luigipinca@gmail.com> | 2019-05-20 14:59:20 +0200 |
---|---|---|
committer | Daniel Bevenius <daniel.bevenius@gmail.com> | 2019-05-23 05:35:19 +0200 |
commit | 165916b1f3ec094b1694bd5a056c2fc5e56027c2 (patch) | |
tree | 416cca009bcc9ff7573a19ecd27b0bafa367030e /test/parallel/test-http2-server-startup.js | |
parent | d2cabee64c60a7d6e2023dfb60c26cb66dc2eaa4 (diff) | |
download | android-node-v8-165916b1f3ec094b1694bd5a056c2fc5e56027c2.tar.gz android-node-v8-165916b1f3ec094b1694bd5a056c2fc5e56027c2.tar.bz2 android-node-v8-165916b1f3ec094b1694bd5a056c2fc5e56027c2.zip |
http2: support net.Server options
Make `http2.createServer()` support `net.Server` options.
PR-URL: https://github.com/nodejs/node/pull/27782
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Yongsheng Zhang <zyszys98@gmail.com>
Reviewed-By: Rich Trott <rtrott@gmail.com>
Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de>
Reviewed-By: Anna Henningsen <anna@addaleax.net>
Reviewed-By: Trivikram Kamat <trivikr.dev@gmail.com>
Diffstat (limited to 'test/parallel/test-http2-server-startup.js')
-rw-r--r-- | test/parallel/test-http2-server-startup.js | 46 |
1 files changed, 46 insertions, 0 deletions
diff --git a/test/parallel/test-http2-server-startup.js b/test/parallel/test-http2-server-startup.js index 4ebcc21c27..c94abd2c22 100644 --- a/test/parallel/test-http2-server-startup.js +++ b/test/parallel/test-http2-server-startup.js @@ -10,6 +10,7 @@ const commonFixtures = require('../common/fixtures'); if (!common.hasCrypto) common.skip('missing crypto'); +const assert = require('assert'); const http2 = require('http2'); const tls = require('tls'); const net = require('net'); @@ -48,6 +49,25 @@ server.on('error', common.mustNotCall()); })); } +// Test that `http2.createServer()` supports `net.Server` options. +{ + const server = http2.createServer({ allowHalfOpen: true }); + + server.on('connection', common.mustCall((socket) => { + assert.strictEqual(socket.allowHalfOpen, true); + socket.end(); + server.close(); + })); + + assert.strictEqual(server.allowHalfOpen, true); + + server.listen(0, common.mustCall(() => { + const port = server.address().port; + const socket = net.connect(port, common.mustCall()); + socket.resume(); + })); +} + // Test the secure server socket timeout. { let client; @@ -67,3 +87,29 @@ server.on('error', common.mustNotCall()); }, common.mustCall()); })); } + +// Test that `http2.createSecureServer()` supports `net.Server` options. +{ + const server = http2.createSecureServer({ + allowHalfOpen: true, + ...options + }); + + server.on('secureConnection', common.mustCall((socket) => { + assert.strictEqual(socket.allowHalfOpen, true); + socket.end(); + server.close(); + })); + + assert.strictEqual(server.allowHalfOpen, true); + + server.listen(0, common.mustCall(() => { + const port = server.address().port; + const socket = tls.connect({ + port: port, + rejectUnauthorized: false, + ALPNProtocols: ['h2'] + }, common.mustCall()); + socket.resume(); + })); +} |