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);
|
||
|
}));
|
||
|
}));
|
||
|
}));
|
||
|
}));
|
||
|
}));
|
||
|
}));
|