diff options
author | Anatoli Papirovski <apapirovski@mac.com> | 2017-10-20 07:38:15 -0400 |
---|---|---|
committer | Anatoli Papirovski <apapirovski@mac.com> | 2017-10-23 12:19:59 -0400 |
commit | c30f107103e1f7e86657ddfc074eb502ece70b5f (patch) | |
tree | 16dddd8333e83f11bafe59f3e9d8eef5fbe17103 /test/parallel/test-http2-client-port-80.js | |
parent | eb2fbd159fe6f8b6dbb89ecc44cd85234bd9e14a (diff) | |
download | android-node-v8-c30f107103e1f7e86657ddfc074eb502ece70b5f.tar.gz android-node-v8-c30f107103e1f7e86657ddfc074eb502ece70b5f.tar.bz2 android-node-v8-c30f107103e1f7e86657ddfc074eb502ece70b5f.zip |
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>
Diffstat (limited to 'test/parallel/test-http2-client-port-80.js')
-rw-r--r-- | test/parallel/test-http2-client-port-80.js | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/test/parallel/test-http2-client-port-80.js b/test/parallel/test-http2-client-port-80.js new file mode 100644 index 0000000000..a9d19eb5b9 --- /dev/null +++ b/test/parallel/test-http2-client-port-80.js @@ -0,0 +1,19 @@ +'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(); |