Browse Source

Merge pull request #9 from SpiderStrategies/add-reset-header

Adds the X-Ratelimit-Reset header.
develop
Dustin Diaz 9 years ago
parent
commit
94140fb318
  1. 1
      index.js
  2. 3
      tests/index.js

1
index.js

@ -32,6 +32,7 @@ module.exports = function (app, db) {
if (!opts.skipHeaders) {
res.set('X-RateLimit-Limit', limit.total)
res.set('X-RateLimit-Remaining', limit.remaining)
res.set('X-RateLimit-Reset', Math.ceil(limit.reset / 1000)) // UTC epoch seconds
}
if (limit.remaining) return next()

3
tests/index.js

@ -43,6 +43,7 @@ describe('rate-limiter', function () {
.get('/route')
.expect('X-RateLimit-Limit', 10)
.expect('X-RateLimit-Remaining', item - 1)
.expect('X-RateLimit-Reset', 3600)
.expect(200, function (e) {f(e)})
})
}
@ -52,6 +53,7 @@ describe('rate-limiter', function () {
.get('/route')
.expect('X-RateLimit-Limit', 10)
.expect('X-RateLimit-Remaining', 0)
.expect('X-RateLimit-Reset', 3600)
.expect('Retry-After', /\d+/)
.expect(429, function (e) {f(e)})
})
@ -62,6 +64,7 @@ describe('rate-limiter', function () {
.get('/route')
.expect('X-RateLimit-Limit', 10)
.expect('X-RateLimit-Remaining', 9)
.expect('X-RateLimit-Reset', 7201)
.expect(200, function (e) {
clock.restore()
f(e)

Loading…
Cancel
Save