1
0
Fork 0
mirror of https://github.com/denoland/deno.git synced 2024-12-22 07:14:47 -05:00
denoland-deno/tests/node_compat/test/parallel/test-http-addrequest-localaddress.js

45 lines
1.4 KiB
JavaScript
Raw Normal View History

// 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');