diff options
author | Peter Marton <peter@risingstack.com> | 2017-10-05 14:24:12 +0200 |
---|---|---|
committer | Anatoli Papirovski <apapirovski@mac.com> | 2018-02-09 12:54:18 -0500 |
commit | e5f101fe7beba032089ae3b3fb425c0ee15df258 (patch) | |
tree | a1302a3a7b1b17146b146ad0fd38b7251768fd2d /test/parallel/test-http2-options-server-response.js | |
parent | dbd1d1d43f30df17a7bb216e0898afb398f6604f (diff) | |
download | android-node-v8-e5f101fe7beba032089ae3b3fb425c0ee15df258.tar.gz android-node-v8-e5f101fe7beba032089ae3b3fb425c0ee15df258.tar.bz2 android-node-v8-e5f101fe7beba032089ae3b3fb425c0ee15df258.zip |
http2: add req and res options to server creation
Add optional Http2ServerRequest and Http2ServerResponse options
to createServer and createSecureServer. Allows custom req & res
classes that extend the default ones to be used without
overriding the prototype.
PR-URL: https://github.com/nodejs/node/pull/15560
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Matteo Collina <matteo.collina@gmail.com>
Reviewed-By: Anatoli Papirovski <apapirovski@mac.com>
Reviewed-By: Anna Henningsen <anna@addaleax.net>
Diffstat (limited to 'test/parallel/test-http2-options-server-response.js')
-rw-r--r-- | test/parallel/test-http2-options-server-response.js | 34 |
1 files changed, 34 insertions, 0 deletions
diff --git a/test/parallel/test-http2-options-server-response.js b/test/parallel/test-http2-options-server-response.js new file mode 100644 index 0000000000..6f1ae1881d --- /dev/null +++ b/test/parallel/test-http2-options-server-response.js @@ -0,0 +1,34 @@ +'use strict'; + +const common = require('../common'); +if (!common.hasCrypto) + common.skip('missing crypto'); +const h2 = require('http2'); + +class MyServerResponse extends h2.Http2ServerResponse { + status(code) { + return this.writeHead(code, { 'Content-Type': 'text/plain' }); + } +} + +const server = h2.createServer({ + Http2ServerResponse: MyServerResponse +}, (req, res) => { + res.status(200); + res.end(); +}); +server.listen(0); + +server.on('listening', common.mustCall(() => { + + const client = h2.connect(`http://localhost:${server.address().port}`); + const req = client.request({ ':path': '/' }); + + req.on('response', common.mustCall()); + + req.resume(); + req.on('end', common.mustCall(() => { + server.close(); + client.destroy(); + })); +})); |