diff --git a/lib/internal/http2/compat.js b/lib/internal/http2/compat.js index 9b77ba3f1a..ac9c6154a4 100644 --- a/lib/internal/http2/compat.js +++ b/lib/internal/http2/compat.js @@ -181,6 +181,14 @@ class Http2ServerRequest extends Readable { return '2.0'; } + get socket() { + return this.stream.session.socket; + } + + get connection() { + return this.socket; + } + _read(nread) { var stream = this[kStream]; if (stream) { diff --git a/test/parallel/test-http2-compat-serverrequest.js b/test/parallel/test-http2-compat-serverrequest.js index cd93c1c596..5d9a1a1c96 100644 --- a/test/parallel/test-http2-compat-serverrequest.js +++ b/test/parallel/test-http2-compat-serverrequest.js @@ -3,6 +3,7 @@ const common = require('../common'); const assert = require('assert'); const h2 = require('http2'); +const net = require('net'); // Http2ServerRequest should expose convenience properties @@ -22,6 +23,10 @@ server.listen(0, common.mustCall(function() { assert.strictEqual(request.httpVersionMajor, expected.httpVersionMajor); assert.strictEqual(request.httpVersionMinor, expected.httpVersionMinor); + assert.ok(request.socket instanceof net.Socket); + assert.ok(request.connection instanceof net.Socket); + assert.strictEqual(request.socket, request.connection); + response.stream.on('finish', common.mustCall(function() { server.close(); }));