in spec/LogReader.js [30:81]
async nextRequest() {
let stream = null;
let readInterface = null;
let cleanUp = () => {
if (stream) {
stream.close();
stream = null;
}
if (readInterface) {
readInterface.close();
readInterface = null;
}
}
return await new Promise((resolve) => {
stream = fs.createReadStream(this._file);
readInterface = readline.createInterface({
input: stream,
crlfDelay: Infinity
});
let resolved = false;
let i = -1;
readInterface.on('line', (line) => {
if (resolved)
return;
++i;
if (i <= this._lastLine)
return;
this._lastLine = i;
const res = line.match(/Client request received .*?req=org.apache.ignite.internal.processors.platform.client.cache.ClientCache([a-zA-Z]+)Request@/);
if (res) {
resolved = true;
cleanUp();
resolve(res[1].normalize());
}
});
readInterface.on('close', () => {
cleanUp();
if (!resolved)
resolve(null);
});
})
.catch((_err) => {});
}