summaryrefslogtreecommitdiff
path: root/test/parallel/test-http2-options-server-response.js
diff options
context:
space:
mode:
authorPeter Marton <peter@risingstack.com>2017-10-05 14:24:12 +0200
committerAnatoli Papirovski <apapirovski@mac.com>2018-02-09 12:54:18 -0500
commite5f101fe7beba032089ae3b3fb425c0ee15df258 (patch)
treea1302a3a7b1b17146b146ad0fd38b7251768fd2d /test/parallel/test-http2-options-server-response.js
parentdbd1d1d43f30df17a7bb216e0898afb398f6604f (diff)
downloadandroid-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.js34
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();
+ }));
+}));