node/test/parallel/test-http2-client-port-80.js
Anatoli Papirovski c30f107103
http2: allow port 80 in http2.connect
Due to how WHATWG-URL parser works, port numbers are omitted if
they are the default port for a scheme. This meant that
http2.connect could not accept connections on port 80 with http
scheme. Fix this bug by detecting http: scheme and setting port
to 80.

PR-URL: https://github.com/nodejs/node/pull/16337
Fixes: https://github.com/nodejs/node/issues/14304
Reviewed-By: Vse Mozhet Byt <vsemozhetbyt@gmail.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Anna Henningsen <anna@addaleax.net>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Michaël Zasso <targos@protonmail.com>
2017-10-23 12:19:59 -04:00

20 lines
464 B
JavaScript

'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], '80');
return connect(...args);
});
const client = http2.connect('http://localhost:80');
client.destroy();