mirror of
https://github.com/linuxserver/core.git
synced 2026-02-20 05:07:19 +08:00
Revert "Revert "Docker rate limit activate and create""
This commit is contained in:
parent
be36e010ce
commit
e134c2994c
3
node_modules/c9/ratelimit.js
generated
vendored
3
node_modules/c9/ratelimit.js
generated
vendored
@ -38,6 +38,9 @@ function ratelimit(key, duration, max) {
|
||||
|
||||
// Returns a deep value from an object. E.g. resolveValue({user: {id: 5}}, "user.id") === 5
|
||||
function resolveValue(obj, path) {
|
||||
if (path === "*")
|
||||
return "*";
|
||||
|
||||
return path.split('.').reduce(function(prev, curr) {
|
||||
return prev ? prev[curr] : undefined;
|
||||
}, obj);
|
||||
|
||||
12
node_modules/c9/ratelimit_test.js
generated
vendored
12
node_modules/c9/ratelimit_test.js
generated
vendored
@ -47,6 +47,18 @@ describe("ratelimit", function() {
|
||||
});
|
||||
});
|
||||
|
||||
it("Should work with wildcard", function (done) {
|
||||
var limiter = ratelimit("*", 100, 1);
|
||||
limiter({params: {user: {id: "hey"}}}, null, function (err) {
|
||||
assert(!err, err);
|
||||
limiter({}, null, function (err) {
|
||||
assert(err);
|
||||
assert.equal(err.code, 429);
|
||||
done();
|
||||
});
|
||||
});
|
||||
});
|
||||
|
||||
it("Should work with parameters directly on req, if req is specified as the first part of the deep key", function (done) {
|
||||
var limiter = ratelimit("req.user.id", 100, 1);
|
||||
limiter({user: {id: "hey"}}, null, function (err) {
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user