Skip to content

Commit

Permalink
Fix header name merging behavior
Browse files Browse the repository at this point in the history
Makes header name selection consistent with
pre 1.3 versions. The order of selection was:
 - check mapping in Limiter._header_mapping
 - check mapping flask config
 - use defaults
  • Loading branch information
alisaifee committed May 21, 2020
1 parent 6c9afb6 commit 31614cb
Showing 1 changed file with 19 additions and 8 deletions.
27 changes: 19 additions & 8 deletions flask_limiter/extension.py
Original file line number Diff line number Diff line change
Expand Up @@ -237,18 +237,29 @@ def init_app(self, app):
"Invalid rate limiting strategy %s" % strategy
)
self._limiter = STRATEGIES[strategy](self._storage)

# TODO: this should be made consistent with the rest of the
# configuration
self._header_mapping = {
HEADERS.RESET: config.get(
C.HEADER_RESET, "X-RateLimit-Reset"
HEADERS.RESET: self._header_mapping.get(
HEADERS.RESET, config.get(
C.HEADER_RESET, "X-RateLimit-Reset"
)
),
HEADERS.REMAINING: config.get(
C.HEADER_REMAINING, "X-RateLimit-Remaining"
HEADERS.REMAINING: self._header_mapping.get(
HEADERS.REMAINING, config.get(
C.HEADER_REMAINING, "X-RateLimit-Remaining"
)
),
HEADERS.LIMIT: config.get(
C.HEADER_LIMIT, "X-RateLimit-Limit"
HEADERS.LIMIT: self._header_mapping.get(
HEADERS.LIMIT, config.get(
C.HEADER_LIMIT, "X-RateLimit-Limit"
)
),
HEADERS.RETRY_AFTER: config.get(
C.HEADER_RETRY_AFTER, "Retry-After"
HEADERS.RETRY_AFTER: self._header_mapping.get(
HEADERS.RETRY_AFTER, config.get(
C.HEADER_RETRY_AFTER, "Retry-After"
)
),
}
self._retry_after = (
Expand Down

0 comments on commit 31614cb

Please sign in to comment.