summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--lib/_http_server.js2
-rw-r--r--test/parallel/test-http-server-delete-parser.js24
2 files changed, 25 insertions, 1 deletions
diff --git a/lib/_http_server.js b/lib/_http_server.js
index 02cd7a81a9..53bf30b3d2 100644
--- a/lib/_http_server.js
+++ b/lib/_http_server.js
@@ -755,7 +755,7 @@ function resetHeadersTimeoutOnReqEnd() {
const parser = this.socket.parser;
// Parser can be null if the socket was destroyed
// in that case, there is nothing to do.
- if (parser !== null) {
+ if (parser) {
parser.parsingHeadersStart = nowDate();
}
}
diff --git a/test/parallel/test-http-server-delete-parser.js b/test/parallel/test-http-server-delete-parser.js
new file mode 100644
index 0000000000..0c5eea9073
--- /dev/null
+++ b/test/parallel/test-http-server-delete-parser.js
@@ -0,0 +1,24 @@
+'use strict';
+
+const common = require('../common');
+
+const http = require('http');
+
+const server = http.createServer(common.mustCall((req, res) => {
+ res.writeHead(200, { 'Content-Type': 'text/plain' });
+ res.write('okay', common.mustCall(() => {
+ delete res.socket.parser;
+ }));
+ res.end();
+}));
+
+server.listen(1337, '127.0.0.1');
+server.unref();
+
+const req = http.request({
+ port: 1337,
+ host: '127.0.0.1',
+ method: 'GET',
+});
+
+req.end();