From aef567fddef2f9e84305e3cda9c8f3d922ca6f78 Mon Sep 17 00:00:00 2001 From: Aditya Hase Date: Wed, 13 May 2020 13:45:55 +0530 Subject: [PATCH] fix(rate-limiter): Remove duplicate headers --- frappe/rate_limiter.py | 2 +- frappe/tests/test_rate_limiter.py | 18 ++++++++++-------- 2 files changed, 11 insertions(+), 9 deletions(-) diff --git a/frappe/rate_limiter.py b/frappe/rate_limiter.py index 26cad7de3e..e29b2b3061 100644 --- a/frappe/rate_limiter.py +++ b/frappe/rate_limiter.py @@ -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) diff --git a/frappe/tests/test_rate_limiter.py b/frappe/tests/test_rate_limiter.py index 40a05153ee..292b521460 100644 --- a/frappe/tests/test_rate_limiter.py +++ b/frappe/tests/test_rate_limiter.py @@ -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)