Skip to content
Permalink
Browse files

http2: `Http2ServerResponse.end()` should always return self

PR-URL: #24346
Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
Reviewed-By: Matteo Collina <matteo.collina@gmail.com>
Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
  • Loading branch information...
ronag authored and BridgeAR committed Nov 13, 2018
1 parent 275a8f9 commit 6adcc6f57410c28da061ab6ab82dd149ad8fa974
Showing with 29 additions and 1 deletion.
  1. +1 −1 lib/internal/http2/compat.js
  2. +28 −0 test/parallel/test-http2-compat-serverresponse-end.js
@@ -648,7 +648,7 @@ class Http2ServerResponse extends Stream {

if ((state.closed || state.ending) &&
state.headRequest === stream.headRequest) {
return false;
return this;
}

if (typeof chunk === 'function') {
@@ -60,6 +60,34 @@ const {
}));
}

{
// Http2ServerResponse.end should return self after end
const server = createServer(mustCall((request, response) => {
strictEqual(response, response.end());
strictEqual(response, response.end());
server.close();
}));
server.listen(0, mustCall(() => {
const { port } = server.address();
const url = `http://localhost:${port}`;
const client = connect(url, mustCall(() => {
const headers = {
':path': '/',
':method': 'GET',
':scheme': 'http',
':authority': `localhost:${port}`
};
const request = client.request(headers);
request.setEncoding('utf8');
request.on('end', mustCall(() => {
client.close();
}));
request.end();
request.resume();
}));
}));
}

{
// Http2ServerResponse.end can omit encoding arg, sets it to utf-8
const server = createServer(mustCall((request, response) => {

0 comments on commit 6adcc6f

Please sign in to comment.
You can’t perform that action at this time.