17 lines
402 B
JavaScript
17 lines
402 B
JavaScript
'use strict';
|
|
const tls = require('tls');
|
|
|
|
module.exports = (options = {}) => new Promise((resolve, reject) => {
|
|
const socket = tls.connect(options, () => {
|
|
if (options.resolveSocket) {
|
|
socket.off('error', reject);
|
|
resolve({alpnProtocol: socket.alpnProtocol, socket});
|
|
} else {
|
|
socket.destroy();
|
|
resolve({alpnProtocol: socket.alpnProtocol});
|
|
}
|
|
});
|
|
|
|
socket.on('error', reject);
|
|
});
|