fix(rate-limiter): Remove duplicate headers

This commit is contained in:
Aditya Hase 2020-05-13 13:45:55 +05:30
parent c532a87370
commit aef567fdde
2 changed files with 11 additions and 9 deletions

View file

@ -78,4 +78,4 @@ class RateLimiter:
def respond(self):
if self.rejected:
return Response(_("Too Many Requests"), status=429, headers=self.headers())
return Response(_("Too Many Requests"), status=429)

View file

@ -46,14 +46,16 @@ class TestRateLimiter(unittest.TestCase):
self.assertIsInstance(response, Response)
self.assertEqual(response.status_code, 429)
self.assertIn("Retry-After", response.headers)
self.assertNotIn("X-RateLimit-Used", response.headers)
self.assertIn("X-RateLimit-Reset", response.headers)
self.assertIn("X-RateLimit-Limit", response.headers)
self.assertIn("X-RateLimit-Remaining", response.headers)
self.assertTrue(int(response.headers["X-RateLimit-Reset"]) <= 86400)
self.assertEqual(int(response.headers["X-RateLimit-Limit"]), 10000)
self.assertEqual(int(response.headers["X-RateLimit-Remaining"]), 0)
headers = frappe.local.rate_limiter.headers()
self.assertIn("Retry-After", headers)
self.assertNotIn("X-RateLimit-Used", headers)
self.assertIn("X-RateLimit-Reset", headers)
self.assertIn("X-RateLimit-Limit", headers)
self.assertIn("X-RateLimit-Remaining", headers)
self.assertTrue(int(headers["X-RateLimit-Reset"]) <= 86400)
self.assertEqual(int(headers["X-RateLimit-Limit"]), 10000)
self.assertEqual(int(headers["X-RateLimit-Remaining"]), 0)
frappe.cache().delete(limiter.key)
frappe.cache().delete(frappe.local.rate_limiter.key)