%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'); const fixtures = require('../common/fixtures'); if (!common.hasCrypto) common.skip('missing crypto'); const assert = require('assert'); const https = require('https'); const options = { key: fixtures.readKey('agent1-key.pem'), cert: fixtures.readKey('agent1-cert.pem') }; const TOTAL = 4; let waiting = TOTAL; const server = https.Server(options, function(req, res) { if (--waiting === 0) server.close(); const servername = req.socket.servername; if (servername !== false) { res.setHeader('x-sni', servername); } res.end('hello world'); }); server.listen(0, function() { function expectResponse(id) { return common.mustCall(function(res) { res.resume(); assert.strictEqual(res.headers['x-sni'], id === false ? undefined : `sni.${id}`); }); } const agent = new https.Agent({ maxSockets: 1 }); for (let j = 0; j < TOTAL; j++) { https.get({ agent: agent, path: '/', port: this.address().port, host: '127.0.0.1', servername: `sni.${j}`, rejectUnauthorized: false }, expectResponse(j)); } https.get({ agent: agent, path: '/', port: this.address().port, host: '127.0.0.1', servername: '', rejectUnauthorized: false }, expectResponse(false)); });