Regression: Rate limiter was not working due to Meteor internal changes (#16361)

pull/16243/head^2
Rodrigo Nascimento 6 years ago committed by Diego Sampaio
parent 7559c05997
commit b95cb64742
  1. 8
      app/lib/server/startup/rateLimiter.js
  2. 5
      app/statistics/server/lib/SAUMonitor.js

@ -23,8 +23,8 @@ DDPRateLimiter.addRule = (matcher, calls, time, callback) => {
const { _increment } = DDPRateLimiter;
DDPRateLimiter._increment = function(input) {
const session = Meteor.server.sessions[input.connectionId];
input.broadcastAuth = session && session.connectionHandle && session.connectionHandle.broadcastAuth === true;
const session = Meteor.server.sessions.get(input.connectionId);
input.broadcastAuth = (session && session.connectionHandle && session.connectionHandle.broadcastAuth) === true;
return _increment.call(DDPRateLimiter, input);
};
@ -33,8 +33,8 @@ DDPRateLimiter._increment = function(input) {
// being shared among all matchs
RateLimiter.prototype.check = function(input) {
// ==== BEGIN OVERRIDE ====
const session = Meteor.server.sessions[input.connectionId];
input.broadcastAuth = session && session.connectionHandle && session.connectionHandle.broadcastAuth === true;
const session = Meteor.server.sessions.get(input.connectionId);
input.broadcastAuth = (session && session.connectionHandle && session.connectionHandle.broadcastAuth) === true;
// ==== END OVERRIDE ====
const self = this;

@ -280,9 +280,10 @@ export class SAUMonitorClass {
if (!sessionId) {
return;
}
if (Meteor.server.sessions[sessionId]) {
const session = Meteor.server.sessions.get(sessionId);
if (session) {
Object.keys(data).forEach((p) => {
Meteor.server.sessions[sessionId].connectionHandle = Object.assign({}, Meteor.server.sessions[sessionId].connectionHandle, { [p]: data[p] });
session.connectionHandle = Object.assign({}, session.connectionHandle, { [p]: data[p] });
});
}
}

Loading…
Cancel
Save