1'use strict'; 2const common = require('../common'); 3 4if (!common.hasCrypto) 5 common.skip('missing crypto'); 6 7const assert = require('assert'); 8const https = require('https'); 9const net = require('net'); 10 11const server = net.createServer(function(s) { 12 s.once('data', function() { 13 s.end('I was waiting for you, hello!', function() { 14 s.destroy(); 15 }); 16 }); 17}); 18 19server.listen(0, function() { 20 const req = https.request({ port: this.address().port }); 21 req.end(); 22 23 req.once('error', common.mustCall(function(err) { 24 // OpenSSL 1.0.x and 1.1.x use different error messages for junk inputs. 25 assert(/unknown protocol/.test(err.message) || 26 /wrong version number/.test(err.message)); 27 server.close(); 28 })); 29}); 30