http2: Expose Http2ServerRequest/Response
In order for express (and possibly other libraries) to get and use the Http2ServerRequest/Response - expose them in the http2 exports. Same as is done in http module. PR-URL: https://github.com/nodejs/node/pull/14690 Ref: https://github.com/expressjs/express/issues/3390 Fixes: https://github.com/nodejs/node/issues/14672 Reviewed-By: Benjamin Gruenbaum <benjamingr@gmail.com> Reviewed-By: James M Snell <jasnell@gmail.com> Reviewed-By: Matteo Collina <matteo.collina@gmail.com>
This commit is contained in:
parent
eab2bea46f
commit
3f5d944ace
@ -13,7 +13,9 @@ const {
|
||||
getUnpackedSettings,
|
||||
createServer,
|
||||
createSecureServer,
|
||||
connect
|
||||
connect,
|
||||
Http2ServerRequest,
|
||||
Http2ServerResponse,
|
||||
} = require('internal/http2/core');
|
||||
|
||||
module.exports = {
|
||||
@ -23,5 +25,7 @@ module.exports = {
|
||||
getUnpackedSettings,
|
||||
createServer,
|
||||
createSecureServer,
|
||||
connect
|
||||
connect,
|
||||
Http2ServerResponse,
|
||||
Http2ServerRequest,
|
||||
};
|
||||
|
@ -573,4 +573,8 @@ function onServerStream(stream, headers, flags) {
|
||||
server.emit('request', request, response);
|
||||
}
|
||||
|
||||
module.exports = { onServerStream };
|
||||
module.exports = {
|
||||
onServerStream,
|
||||
Http2ServerRequest,
|
||||
Http2ServerResponse,
|
||||
};
|
||||
|
@ -15,7 +15,10 @@ const fs = require('fs');
|
||||
const errors = require('internal/errors');
|
||||
const { Duplex } = require('stream');
|
||||
const { URL } = require('url');
|
||||
const { onServerStream } = require('internal/http2/compat');
|
||||
const { onServerStream,
|
||||
Http2ServerRequest,
|
||||
Http2ServerResponse,
|
||||
} = require('internal/http2/compat');
|
||||
const { utcDate } = require('internal/http');
|
||||
const { _connectionListener: httpConnectionListener } = require('http');
|
||||
const { isUint8Array } = process.binding('util');
|
||||
@ -2552,7 +2555,9 @@ module.exports = {
|
||||
getUnpackedSettings,
|
||||
createServer,
|
||||
createSecureServer,
|
||||
connect
|
||||
connect,
|
||||
Http2ServerRequest,
|
||||
Http2ServerResponse
|
||||
};
|
||||
|
||||
/* eslint-enable no-use-before-define */
|
||||
|
19
test/parallel/test-http2-request-response-proto.js
Normal file
19
test/parallel/test-http2-request-response-proto.js
Normal file
@ -0,0 +1,19 @@
|
||||
// Flags: --expose-http2
|
||||
'use strict';
|
||||
|
||||
const common = require('../common');
|
||||
if (!common.hasCrypto)
|
||||
common.skip('missing crypto');
|
||||
const assert = require('assert');
|
||||
const http2 = require('http2');
|
||||
|
||||
const {
|
||||
Http2ServerRequest,
|
||||
Http2ServerResponse,
|
||||
} = http2;
|
||||
|
||||
const protoRequest = Object.create(Http2ServerRequest.prototype);
|
||||
const protoResponse = Object.create(Http2ServerResponse.prototype);
|
||||
|
||||
assert.strictEqual(protoRequest instanceof Http2ServerRequest, true);
|
||||
assert.strictEqual(protoResponse instanceof Http2ServerResponse, true);
|
Loading…
x
Reference in New Issue
Block a user