%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'; // Flags: --expose-internals // Make sure http.request() can catch immediate errors in // net.createConnection(). const common = require('../common'); const assert = require('assert'); const net = require('net'); const http = require('http'); const { internalBinding } = require('internal/test/binding'); const { UV_ENETUNREACH } = internalBinding('uv'); const { newAsyncId, symbols: { async_id_symbol } } = require('internal/async_hooks'); const agent = new http.Agent(); agent.createConnection = common.mustCall((cfg) => { const sock = new net.Socket(); // Fake the handle so we can enforce returning an immediate error sock._handle = { connect: common.mustCall((req, addr, port) => { return UV_ENETUNREACH; }), readStart() {}, close() {} }; // Simulate just enough socket handle initialization sock[async_id_symbol] = newAsyncId(); sock.connect(cfg); return sock; }); http.get({ host: '127.0.0.1', port: 1, agent }).on('error', common.mustCall((err) => { assert.strictEqual(err.code, 'ENETUNREACH'); }));