summaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
authorMatteo Collina <hello@matteocollina.com>2019-08-22 11:42:46 +0200
committerRich Trott <rtrott@gmail.com>2019-08-24 09:56:23 -0700
commitb3172f834f418f4f2656d851e585f17aece73333 (patch)
tree891d0dfb0d2e1accde341b68b73fe76c452891a4 /test
parenta5d92887889b4cd1f80a47c67868905ce6c204f6 (diff)
downloadandroid-node-v8-b3172f834f418f4f2656d851e585f17aece73333.tar.gz
android-node-v8-b3172f834f418f4f2656d851e585f17aece73333.tar.bz2
android-node-v8-b3172f834f418f4f2656d851e585f17aece73333.zip
test, http: add regression test for keepalive 'end' event
This test covers a regression where 'end' was not emitted in the case of keepalive requests without parsing the full body. PR-URL: https://github.com/nodejs/node/pull/29263 Reviewed-By: Benjamin Gruenbaum <benjamingr@gmail.com> Reviewed-By: James M Snell <jasnell@gmail.com> Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
Diffstat (limited to 'test')
-rw-r--r--test/parallel/test-http-server-keepalive-end.js29
1 files changed, 29 insertions, 0 deletions
diff --git a/test/parallel/test-http-server-keepalive-end.js b/test/parallel/test-http-server-keepalive-end.js
new file mode 100644
index 0000000000..1e3a44d368
--- /dev/null
+++ b/test/parallel/test-http-server-keepalive-end.js
@@ -0,0 +1,29 @@
+'use strict';
+
+const common = require('../common');
+const { createServer } = require('http');
+const { connect } = require('net');
+
+const server = createServer(common.mustCall((req, res) => {
+ req.on('end', common.mustCall());
+ res.end('hello world');
+}));
+
+server.unref();
+
+server.listen(0, common.mustCall(() => {
+
+ const client = connect(server.address().port);
+
+ const req = [
+ 'POST / HTTP/1.1',
+ `Host: localhost:${server.address().port}`,
+ 'Connection: keep-alive',
+ 'Content-Length: 11',
+ '',
+ 'hello world',
+ ''
+ ].join('\r\n');
+
+ client.end(req);
+}));