mirror of
https://github.com/nodejs/node.git
synced 2025-05-10 19:17:56 +00:00

Change resource being used, previously HTTParser was being reused. We are now using IncomingMessage and ClientRequest objects. The goal here is to make the async resource unique for each async operatio Refs: https://github.com/nodejs/node/pull/24330 Refs: https://github.com/nodejs/diagnostics/issues/248 Refs: https://github.com/nodejs/node/pull/21313 Co-authored-by: Matheus Marchini <mat@mmarchini.me> PR-URL: https://github.com/nodejs/node/pull/25094 Reviewed-By: Matteo Collina <matteo.collina@gmail.com> Reviewed-By: Benedikt Meurer <benedikt.meurer@gmail.com> Reviewed-By: Anna Henningsen <anna@addaleax.net>
40 lines
948 B
JavaScript
40 lines
948 B
JavaScript
'use strict';
|
|
|
|
const common = require('../common');
|
|
const http = require('http');
|
|
const assert = require('assert');
|
|
const { createHook } = require('async_hooks');
|
|
const reused = Symbol('reused');
|
|
|
|
let reusedHTTPParser = false;
|
|
const asyncHook = createHook({
|
|
init(asyncId, type, triggerAsyncId, resource) {
|
|
if (resource[reused]) {
|
|
reusedHTTPParser = true;
|
|
}
|
|
resource[reused] = true;
|
|
}
|
|
});
|
|
asyncHook.enable();
|
|
|
|
const server = http.createServer(function(req, res) {
|
|
res.end();
|
|
});
|
|
|
|
const PORT = 3000;
|
|
const url = 'http://127.0.0.1:' + PORT;
|
|
|
|
server.listen(PORT, common.mustCall(() => {
|
|
http.get(url, common.mustCall(() => {
|
|
server.close(common.mustCall(() => {
|
|
server.listen(PORT, common.mustCall(() => {
|
|
http.get(url, common.mustCall(() => {
|
|
server.close(common.mustCall(() => {
|
|
assert.strictEqual(reusedHTTPParser, false);
|
|
}));
|
|
}));
|
|
}));
|
|
}));
|
|
}));
|
|
}));
|