summaryrefslogtreecommitdiff
path: root/test/parallel/test-http2-server-startup.js
diff options
context:
space:
mode:
authorLuigi Pinca <luigipinca@gmail.com>2019-05-20 14:59:20 +0200
committerDaniel Bevenius <daniel.bevenius@gmail.com>2019-05-23 05:35:19 +0200
commit165916b1f3ec094b1694bd5a056c2fc5e56027c2 (patch)
tree416cca009bcc9ff7573a19ecd27b0bafa367030e /test/parallel/test-http2-server-startup.js
parentd2cabee64c60a7d6e2023dfb60c26cb66dc2eaa4 (diff)
downloadandroid-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.js46
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();
+ }));
+}