diff options
author | Luigi Pinca <luigipinca@gmail.com> | 2019-05-13 09:07:56 +0200 |
---|---|---|
committer | Rich Trott <rtrott@gmail.com> | 2019-05-18 19:46:55 -0700 |
commit | 5112b3d9a6645b83b90b559cb388fa29ee61eb99 (patch) | |
tree | 25de70cdc59f1033c86bf652651ee7f83788a9cd /test/parallel/test-tls-server-parent-constructor-options.js | |
parent | 7bdd8d6e98d375a8f4a66d741642af68f5ce562d (diff) | |
download | android-node-v8-5112b3d9a6645b83b90b559cb388fa29ee61eb99.tar.gz android-node-v8-5112b3d9a6645b83b90b559cb388fa29ee61eb99.tar.bz2 android-node-v8-5112b3d9a6645b83b90b559cb388fa29ee61eb99.zip |
tls: support `net.Server` options
Pass `tls.Server` constructor options to the parent constructor.
PR-URL: https://github.com/nodejs/node/pull/27665
Reviewed-By: Anna Henningsen <anna@addaleax.net>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Rich Trott <rtrott@gmail.com>
Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de>
Diffstat (limited to 'test/parallel/test-tls-server-parent-constructor-options.js')
-rw-r--r-- | test/parallel/test-tls-server-parent-constructor-options.js | 63 |
1 files changed, 63 insertions, 0 deletions
diff --git a/test/parallel/test-tls-server-parent-constructor-options.js b/test/parallel/test-tls-server-parent-constructor-options.js new file mode 100644 index 0000000000..17484c29ba --- /dev/null +++ b/test/parallel/test-tls-server-parent-constructor-options.js @@ -0,0 +1,63 @@ +'use strict'; +const common = require('../common'); + +if (!common.hasCrypto) + common.skip('missing crypto'); + +// Test that `tls.Server` constructor options are passed to the parent +// constructor. + +const assert = require('assert'); +const fixtures = require('../common/fixtures'); +const tls = require('tls'); + +const options = { + key: fixtures.readKey('agent1-key.pem'), + cert: fixtures.readKey('agent1-cert.pem'), +}; + +{ + const server = tls.createServer(options, common.mustCall((socket) => { + assert.strictEqual(socket.allowHalfOpen, false); + })); + + assert.strictEqual(server.allowHalfOpen, false); + + server.listen(0, common.mustCall(() => { + const socket = tls.connect({ + port: server.address().port, + rejectUnauthorized: false + }, common.mustCall(() => { + socket.end(); + })); + + socket.on('close', () => { + server.close(); + }); + })); +} + +{ + const server = tls.createServer({ + allowHalfOpen: true, + ...options + }, common.mustCall((socket) => { + assert.strictEqual(socket.allowHalfOpen, true); + socket.on('end', socket.end); + })); + + assert.strictEqual(server.allowHalfOpen, true); + + server.listen(0, common.mustCall(() => { + const socket = tls.connect({ + port: server.address().port, + rejectUnauthorized: false + }, common.mustCall(() => { + socket.end(); + })); + + socket.on('close', () => { + server.close(); + }); + })); +} |