mirror of https://gitee.com/openkylin/nodejs.git
69 lines
1.6 KiB
JavaScript
69 lines
1.6 KiB
JavaScript
'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(socket.isPaused(), false);
|
|
}));
|
|
|
|
assert.strictEqual(server.allowHalfOpen, false);
|
|
assert.strictEqual(server.pauseOnConnect, 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,
|
|
pauseOnConnect: true,
|
|
...options
|
|
}, common.mustCall((socket) => {
|
|
assert.strictEqual(socket.allowHalfOpen, true);
|
|
assert.strictEqual(socket.isPaused(), true);
|
|
socket.on('end', socket.end);
|
|
}));
|
|
|
|
assert.strictEqual(server.allowHalfOpen, true);
|
|
assert.strictEqual(server.pauseOnConnect, 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();
|
|
});
|
|
}));
|
|
}
|