Gonzalo Rodriguez
7286517c2f
Do not allow mutating constants
2018-01-25 12:22:40 -03:00
Gonzalo Rodriguez
218a320a3d
Fixes warning instead of hiding it
...
Warning was: 'warning: instance variable @data not initialized'
2018-01-23 16:56:42 -03:00
Aaron Suggs
9d90610bbe
Refactor StoreProxy to avoid autoloading MemCacheStore
...
In v4.4.0, checking `defined?(ActiveSupport::Cache::MemCacheStore)`
could trigger an error loading dalli, which isn’t needed.
This fixes that bug, and prevents similar bugs by checking
`store.class.to_s` rather than `defined?(klass) && store.is_a?(klass)`.
Writing an automated test to ensure that dalli is truly optional is
difficult, but I was able to recreate the dalli load error in v4.4.0 by
running:
gem uninstall dalli
ruby -Ilib -ractive_support/all -ractive_support/cache/redis_store
-rrack/attack -e 'p Rack::Attack::StoreProxy.build(Redis::Store.new)'
Fixes #163
2016-02-16 16:59:24 -05:00
Vincent Boisard
585d1fd02c
Revert "refactor unwieldy Rack::Attack::StoreProxy.build method"
...
This reverts commit 8d124d868e .
2016-01-12 11:45:44 +01:00
Vincent Boisard
8d124d868e
refactor unwieldy Rack::Attack::StoreProxy.build method
2016-01-07 21:16:35 +01:00
Vincent Boisard
32df84df54
fix: check whether client class is defined before checking client itself
2015-12-29 10:19:13 +01:00
Vincent Boisard
d880bd88e0
fix: workaround MemCacheClient + MemCache backend by using a dedicated proxy
2015-12-16 16:57:54 +01:00
Vincent Boisard
faa0638719
fix: Do not attempt to process Memcache clients with DalliProxy
2015-12-08 18:55:06 +01:00
Vincent Boisard
397a7ce7b4
feature: support for ActiveSupport::MemCacheStore
2015-12-08 10:53:53 +01:00
hakanensari
5d72c6e5f9
Move individual proxy classes to separate files
2014-04-15 16:19:43 +01:00
hakanensari
f0a53f474e
Stub #with on delegator
2014-04-09 13:15:00 +01:00
hakanensari
937cd3ca20
Merge branch 'master' into patch-3
2014-04-09 12:17:10 +01:00
hakanensari
1c0bc3da4d
Merge branch 'patch-2' into patch-3
...
Conflicts:
lib/rack/attack/store_proxy.rb
2014-04-09 12:16:16 +01:00
Aaron Suggs
ea09a49538
Merge pull request #54 from stevehodgkiss/dont_override_new_and_return_a_class
...
Rack::Attack.new should return an instance of a class, not the Rack::Attack constant
2014-04-03 22:37:05 -04:00
hakanensari
92be2791ab
Handle older Dalli clients
2014-04-01 12:23:10 +01:00
hakanensari
128c5aa9bf
Support a Dalli Connection Pool
2014-04-01 12:10:32 +01:00
hakanensari
adab844784
Support older dalli client versions
2014-04-01 11:21:14 +01:00
Steve Hodgkiss
c3a077442a
Make Rack::Attack a class and Rack::Attack.new return an instance of that class, rather than Rack::Attack.
2014-03-28 14:53:51 +11:00
hakanensari
a7ec48fb44
Implement Proxy for Dalli
...
kickstarter/rack-attack#52
2014-03-26 21:54:12 +00:00
Will Kimeria
87f628d0c1
If redis client throws exception, don't raise it
...
For throttling, when the redis client throws an exception, the request
ends up getting rate limited. Modify this to be similar to how
ActiveSupport.MemCacheStore functions (the read, write and increment
methods do not raise exceptions)
2014-03-14 11:50:59 -07:00
Aaron Suggs
24143dd195
Cleanup whitespace
2013-06-20 10:19:56 -04:00
madlep
6c259ea9be
delegate Redis custom logic to StoreProxy
...
this removes ugly `if redis blah` code from cache
2013-06-12 15:03:39 +10:00