request: Refactor to record rate limit data using ZulipRequestNotes.

We will no longer use the HttpRequest to store the rate limit data.
Using ZulipRequestNotes, we can access rate_limit and ratelimits_applied
with type hints support. We also save the process of initializing
ratelimits_applied by giving it a default value.
This commit is contained in:
PIG208
2021-07-09 19:15:19 +08:00
committed by Tim Abbott
parent da6e5ddcae
commit 3f9a5e1e17
4 changed files with 15 additions and 14 deletions

View File

@@ -544,8 +544,9 @@ class RateLimitMiddleware(MiddlewareMixin):
return response
# Add X-RateLimit-*** headers
if hasattr(request, "_ratelimits_applied"):
self.set_response_headers(response, request._ratelimits_applied)
ratelimits_applied = get_request_notes(request).ratelimits_applied
if len(ratelimits_applied) > 0:
self.set_response_headers(response, ratelimits_applied)
return response