aboutsummaryrefslogtreecommitdiffstats
path: root/server/src/core
diff options
context:
space:
mode:
Diffstat (limited to 'server/src/core')
-rw-r--r--server/src/core/rateLimiter.js22
1 files changed, 10 insertions, 12 deletions
diff --git a/server/src/core/rateLimiter.js b/server/src/core/rateLimiter.js
index f5c739b..0d94ef2 100644
--- a/server/src/core/rateLimiter.js
+++ b/server/src/core/rateLimiter.js
@@ -18,6 +18,7 @@ class Police {
this._records = {};
this._halflife = 30000; // ms
this._threshold = 25;
+ this._hashes = [];
}
/**
@@ -76,12 +77,11 @@ class Police {
*
* @memberof Police
*/
- arrest (id) {
- var record = this.search(id);
+ arrest (id, hash) {
+ let record = this.search(id);
- if (record) {
- record.arrested = true;
- }
+ record.arrested = true;
+ this._hashes[hash] = id;
}
/**
@@ -93,14 +93,12 @@ class Police {
* @memberof Police
*/
pardon (id) {
- var record = this.search(id);
-
- if (record) {
- record.arrested = false;
- return true;
+ if (typeof this._hashes[id] !== 'undefined') {
+ id = this._hashes[id];
}
-
- return false;
+
+ let record = this.search(id);
+ record.arrested = false;
}
}