* feat: als

* fix: up test timeout

* fix: don't overwrite caller if it already exists

* fix: up test timeout for psql
isekai-main
Barış Soner Uşaklı 3 years ago committed by GitHub
parent 156ba0958e
commit e59d357533
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

@ -0,0 +1,7 @@
'use strict';
const { AsyncLocalStorage } = require('async_hooks');
const asyncLocalStorage = new AsyncLocalStorage();
module.exports = asyncLocalStorage;

@ -96,6 +96,10 @@ Hooks.fire = async function (hook, params) {
winston.warn(`[plugins] Unknown hookType: ${hookType}, hook : ${hook}`);
return;
}
if (params && typeof params === 'object' && !params.hasOwnProperty('caller')) {
const als = require('../als');
params.caller = als.getStore();
}
const result = await hookTypeToMethod[hookType](hook, hookList, params);
if (hook !== 'action:plugins.firehook' && hook !== 'filter:plugins.firehook') {

@ -73,7 +73,8 @@ function onConnection(socket) {
onConnect(socket);
socket.onAny((event, ...args) => {
const payload = { data: [event].concat(args) };
onMessage(socket, payload);
const als = require('../als');
als.run({ uid: socket.uid }, onMessage, socket, payload);
});
socket.on('disconnect', () => {

@ -171,6 +171,10 @@ function setupExpressApp(app) {
app.use(middleware.addHeaders);
app.use(middleware.processRender);
auth.initialize(app, middleware);
const als = require('./als');
app.use((req, res, next) => {
als.run({ uid: req.uid }, next);
});
app.use(middleware.autoLocale); // must be added after auth middlewares are added
const toobusy = require('toobusy-js');

@ -334,7 +334,7 @@ describe('Sorted Set methods', () => {
});
it('should work with big arrays (length > 100) ', async function () {
this.timeout(50000);
this.timeout(100000);
const keys = [];
for (let i = 0; i < 400; i++) {
/* eslint-disable no-await-in-loop */

@ -359,7 +359,7 @@ describe('Notifications', () => {
assert(nids.includes(nid));
done();
});
}, 1500);
}, 3000);
});
});
});

Loading…
Cancel
Save