Implement test-http2-client-port-80.js (#19267)

This commit is contained in:
Alistair Smith
2025-04-24 22:03:23 -07:00
committed by GitHub
parent 316cc20456
commit e6c516465e
2 changed files with 27 additions and 2 deletions

View File

@@ -3230,13 +3230,13 @@ class ClientHttp2Session extends Http2Session {
options
? {
host: url.hostname,
port,
port: String(port),
ALPNProtocols: ["h2"],
...options,
}
: {
host: url.hostname,
port,
port: String(port),
ALPNProtocols: ["h2"],
},
onConnect.bind(this),

View File

@@ -0,0 +1,25 @@
'use strict';
const common = require('../common');
if (!common.hasCrypto)
common.skip('missing crypto');
const assert = require('assert');
const http2 = require('http2');
const net = require('net');
// Verifies that port 80 gets set as expected
const connect = net.connect;
net.connect = common.mustCall((...args) => {
assert.strictEqual(args[0].port, '80');
return connect(...args);
});
const client = http2.connect('http://localhost:80');
// A socket error may or may not occur depending on whether there is something
// currently listening on port 80. Keep this as a non-op and not a mustCall or
// mustNotCall.
client.on('error', () => {});
client.close();