// deno-fmt-ignore-file // deno-lint-ignore-file // Copyright Joyent and Node contributors. All rights reserved. MIT license. // Taken from Node 20.11.1 // This file is automatically generated by `tests/node_compat/runner/setup.ts`. Do not modify this file manually. 'use strict'; require('../common'); // This test ensures that `addRequest`'s Legacy API accepts `localAddress` // correctly instead of accepting `path`. // https://github.com/nodejs/node/issues/5051 const assert = require('assert'); const agent = require('http').globalAgent; // Small stub just so we can call addRequest directly const req = { getHeader: () => {} }; agent.maxSockets = 0; // `localAddress` is used when naming requests / sockets while using the Legacy // API. Port 8080 is hardcoded since this does not create a network connection. agent.addRequest(req, 'localhost', 8080, '127.0.0.1'); assert.strictEqual(Object.keys(agent.requests).length, 1); assert.strictEqual( Object.keys(agent.requests)[0], 'localhost:8080:127.0.0.1'); // `path` is *not* used when naming requests / sockets. // Port 8080 is hardcoded since this does not create a network connection agent.addRequest(req, { host: 'localhost', port: 8080, localAddress: '127.0.0.1', path: '/foo' }); assert.strictEqual(Object.keys(agent.requests).length, 1); assert.strictEqual( Object.keys(agent.requests)[0], 'localhost:8080:127.0.0.1');