Commit graph

234 commits

Author SHA1 Message Date
Gonzalo
12a8390d2d
Bump gem version to v6.5 2021-02-07 13:34:46 -03:00
Gonzalo
f3f0df3fc0
refactor: attempt to avoid user confusion by clarifying method is used by throttle 2021-02-07 13:34:26 -03:00
fatkodima
1e5fb868f6
Auto include middleware for older railses 2021-02-07 12:57:24 -03:00
fatkodima
e131750a6b
Make store proxies lookup dynamic 2021-02-07 12:56:50 -03:00
fatkodima
df354cd141
Make discriminators case-insensitive by default 2021-02-07 12:55:03 -03:00
Gonzalo
6328ddcb19
Bump gem version to v6.4 2021-01-23 21:26:11 -03:00
fukayatsu
dda2489936
Fix Ruby 2.7 kwargs warning in RedisCacheStoreProxy
(cherry picked from commit 9020201ff5)
2021-01-23 13:55:48 -03:00
Olle Jonsson
44b6a7353a
Use RuboCop 0.84.0
- this enables each of the new Cops and marks each with the version
they appeared in

(cherry picked from commit c07fcdde43)
2021-01-23 13:55:46 -03:00
Gonzalo Rodriguez
3a5d10c8b3
Bump gem version to v6.3.1 2020-05-20 23:19:26 -03:00
Gonzalo Rodriguez
02f56979f1
Merge pull request #482 from splitwise/rofreg/avoid-rails-5.2.4.3-deprecation-warning
Fix deprecation warning in Rails 5.2.4.3
2020-05-20 23:03:29 -03:00
Gonzalo Rodriguez
aa071aa5df
Bump gem version to v6.3.0 2020-04-26 11:57:31 -03:00
fatkodima
9923012fe8
Allow to reset state between tests 2020-04-25 16:22:55 -03:00
Gonzalo Rodriguez
64f879395d
Merge commit '8fcd6c855915c802adeeb1784c503fc74115f5a3' into 6-stable 2020-04-25 16:17:37 -03:00
Gonzalo Rodriguez
da41880663 Bump gem version to v6.2.2 2019-12-18 11:44:15 -03:00
fatkodima
6cca2467d2
Fix rescuing errors in RedisProxy#increment 2019-12-17 17:54:18 -03:00
Gonzalo Rodriguez
3654293085
Bump gem version to v6.2.1 2019-10-30 15:26:58 -03:00
Gonzalo Rodriguez
e3056e737f
fix: avoid unintended effects on load_config_initializers and other gems load order
Because of the sort algorithm rails uses to satisfy `after` and `before`
constraints, gems can have unintended effects on others. See
0a120a818d

Prefer making rack-attack middleware idempotent instead of relying on
the load order and the contents of the middleware stack too much.

closes #452
closes #456
2019-10-29 15:45:26 -03:00
Gonzalo Rodriguez
8fcd6c8559
Merge pull request #450 from fatkodima/better-failsafe
Do not rescue all errors for redis backed stores
2019-10-18 17:44:23 -03:00
Gonzalo Rodriguez
1f216e12e7
refactor: move require statement to correct file 2019-10-18 17:29:58 -03:00
fatkodima
20ec4d31db Do not rescue all errors for redis backed stores 2019-10-18 02:31:05 +03:00
Gonzalo Rodriguez
0188a90ab2
refactor: DRY setting config defaults 2019-10-17 14:27:32 -03:00
Gonzalo Rodriguez
55cb6def03
feat: clear custom response when clearing configuration 2019-10-17 14:26:22 -03:00
fatkodima
a34c187dda Allow to configure Retry-After header for default throttled_response handler 2019-10-17 00:26:13 +03:00
Gonzalo Rodriguez
0112405fb4
refactor: prefer require over autoload for const referenced in the same file 2019-10-16 17:43:16 -03:00
Gonzalo Rodriguez
20fdab0c50
style: fix indentation 2019-10-16 16:27:30 -03:00
fatkodima
7118b7a243 Extract Configuration class 2019-10-16 17:34:46 +03:00
Gonzalo Rodriguez
9cf227a32e
Merge pull request #445 from fatkodima/redis-proxy-increment
Fix rescuing errors in RedisProxy#increment
2019-10-15 18:13:52 -03:00
fatkodima
2fac6418f8 Fix rescuing errors in RedisProxy#increment 2019-10-15 22:54:33 +03:00
Gonzalo Rodriguez
6cfd036c2b
Merge pull request #435 from dsantosmerino/refactor/throttle-matched-by
Refactor `Throttle#matched_by?` method
2019-10-14 18:01:04 -03:00
dsantosmerino
49131bb4c6 Refactor Throttle#matched_by? method
Code Climate complains about the complexity of this method. Here we try to reduce it by using private methods that encapsulate some details that are not required to understand the implementation of the main method.
2019-10-13 09:36:44 +02:00
Gonzalo Rodriguez
9bfec1ac70
Bump gem version to v6.2.0 2019-10-12 19:04:46 -03:00
Gonzalo Rodriguez
1167c65ba6
Don't autoplug middleware for untested rails versions 2019-10-12 18:10:10 -03:00
Gonzalo Rodriguez
f65431f788
feat: provide possibility of rescuing any Rack::Attack error 2019-10-11 18:02:04 -03:00
fatkodima
f22b24cbc5 Do not auto-plug for rails < 5 2019-10-08 13:08:07 +03:00
fatkodima
bdfb01ab5b Changes and tests 2019-10-08 12:29:25 +03:00
fatkodima
b512e05786 Auto plug middleware for simpler installation 2019-10-08 12:29:25 +03:00
Gonzalo Rodriguez
0ce6befd68
style: update to latest rubocop 2019-08-02 17:04:52 -03:00
Gonzalo Rodriguez
8fafa7602b
style: fix Style/BlockDelimiters cop check 2019-08-02 15:24:17 -03:00
Gonzalo Rodriguez
c0328707b1
style: enable Style/ParallelAssignment cop checks 2019-08-02 13:47:54 -03:00
Gonzalo Rodriguez
d508e21483
style: avoid multiple assignments to same variable in conditional 2019-08-02 11:59:15 -03:00
Gonzalo Rodriguez
c8021da91c
style: avoid compact class/module definitions 2019-08-02 11:17:41 -03:00
Gonzalo Rodriguez
f5a352b8f9
style: limit line length to 120 columns 2019-08-02 10:51:53 -03:00
Gonzalo Rodriguez
c8abad53fe
Merge remote-tracking branch 'upstream/master' 2019-07-22 15:22:20 -03:00
Gonzalo Rodriguez
dc305e0782
Merge pull request #421 from cristiangreco/cristian/redis-cache-store-failsafe
Failsafe on Redis error replies in RedisCacheStoreProxy.
2019-07-15 18:47:17 -03:00
Cristian Greco
dd6c09e581 Failsafe on Redis error replies in RedisCacheStoreProxy.
RedisCacheStoreProxy will blow up when RedisCacheStore raises a
CommandError exception. In fact, by default the proxied store only
handles BaseConnectionError exceptions, but will let bubble up any other
type of exception from the underlying client.

This pull request uses the same approach from RedisProxy, where store
operations are wrapped in a `rescuing` block that rescues and ignores
BaseError exceptions (the most generic exception class that can be
raised by the Redis client).
2019-07-14 01:37:59 +01:00
Gonzalo Rodriguez
c3c6398f7e
Bump gem version to v6.1.0 2019-07-11 17:01:40 -03:00
Gonzalo Rodriguez
58ba650e6b
feat: provide discriminator in throttle_data 2019-07-10 17:21:48 -03:00
Gonzalo Rodriguez
6045b82897
Bump version to v6.0.0 2019-04-17 18:44:59 -03:00
Gonzalo Rodriguez
6541634fb0
style: enable Style/Semicolon rubocop 2019-03-01 22:25:27 -03:00
Gonzalo Rodriguez
fcb89a6c12
refactor: avoid unnecessary nil argument passing 2019-03-01 22:22:11 -03:00