%PDF- <> %âãÏÓ endobj 2 0 obj <> endobj 3 0 obj <>/ExtGState<>/ProcSet[/PDF/Text/ImageB/ImageC/ImageI] >>/Annots[ 28 0 R 29 0 R] /MediaBox[ 0 0 595.5 842.25] /Contents 4 0 R/Group<>/Tabs/S>> endobj ºaâÚÎΞ-ÌE1ÍØÄ÷{òò2ÿ ÛÖ^ÔÀá TÎ{¦?§®¥kuµùÕ5sLOšuY>endobj 2 0 obj<>endobj 2 0 obj<>endobj 2 0 obj<>endobj 2 0 obj<> endobj 2 0 obj<>endobj 2 0 obj<>es 3 0 R>> endobj 2 0 obj<> ox[ 0.000000 0.000000 609.600000 935.600000]/Fi endobj 3 0 obj<> endobj 7 1 obj<>/ProcSet[/PDF/Text/ImageB/ImageC/ImageI]>>/Subtype/Form>> stream
'use strict'; const common = require('../common'); if (!common.hasCrypto) common.skip('missing crypto'); const tls = require('tls'); const http = require('http'); // Tests that, after the HTTP parser stopped owning a socket that emits an // 'upgrade' event, another C++ stream can start owning it (e.g. a TLSSocket). const server = http.createServer(common.mustNotCall()); server.on('upgrade', common.mustCall((request, socket, head) => { // This should not crash. new tls.TLSSocket(socket); server.close(); socket.destroy(); })); server.listen(0, common.mustCall(() => { http.get({ port: server.address().port, headers: { 'Connection': 'Upgrade', 'Upgrade': 'websocket' } }).on('error', () => {}); }));