Santiago Bartesaghi
6db4a73253
Drop Dalli 2 support ( #679 )
2024-12-16 09:56:09 -03:00
Santiago Bartesaghi
0d40ea6538
Add Rails 7.2 to CI ( #671 )
...
* Add Rails 7.2 to CI
* Fix CI
2024-10-15 15:00:41 -03:00
Santiago Bartesaghi
b6ce502b14
Add test to prevent regressions ( #656 )
2024-05-03 20:49:45 -03:00
Santiago Bartesaghi
52ce45db11
Refactor notifications checks in tests ( #657 )
2024-05-03 20:49:03 -03:00
Santiago Bartesaghi
5124a172ac
Fix Rails test not being ran ( #649 )
2024-01-10 12:10:56 -03:00
Santiago Bartesaghi
cb82b9f873
ci: freeze time in more specs ( #643 )
...
* ci: freeze time in more specs
* Introduce within_same_period helper method
---------
Co-authored-by: Gonzalo <456459+grzuy@users.noreply.github.com>
2024-01-10 11:55:37 -03:00
Santiago Bartesaghi
3543f61b64
Fix #588 don't fail if request.ip is missing ( #630 )
...
* Fix #588 don't fail if request.ip is missing
* Fix Rails 4 suite
* Improve tests
---------
Co-authored-by: Gonzalo <456459+grzuy@users.noreply.github.com>
2023-10-18 00:19:29 +00:00
Santiago Bartesaghi
e9f472786a
Update rubocop ( #629 )
...
* Upgrade rubocop gem
* Fix obsolete parameter
* Fix Lint/MissingSuper
* Fix Lint/ConstantDefinitionInBlock
* Fix Layout/EmptyLineBetweenDefs
* Add rubocop-minitest
* Add rubocop-rake
* Upgrade rubocop-performance
2023-10-16 20:04:35 -03:00
Mitchell Henke
9a7815c332
Remove support for unmaintained ActiveSupport::Cache::RedisStore ( #625 )
...
* remove support for unmaintained ActiveSupport::Cache::RedisStore
* ci: removes active_support_redis_store matrix job
* test: removes unecessary redis-activesupport require
* test: removes dead code
* fix typo
---------
Co-authored-by: Gonzalo <456459+grzuy@users.noreply.github.com>
2023-10-14 11:29:19 -03:00
Samuel Williams
b708de32f3
Support Rack 3. ( #586 )
2023-07-25 15:16:43 +12:00
Gonzalo
aaeff6d0ae
feat: deprecate throttled_response and blocklisted_response
2022-01-29 15:22:19 -03:00
Gonzalo
8bf9d4efad
refactor: attempt to make method name more self explanatory and clear
2022-01-29 15:06:13 -03:00
thomas morgan
0fbfda0146
test against dalli 3.0
2021-11-16 10:04:16 -07:00
Gonzalo
55d5e370fd
test: update ruby and rails versions
2020-12-27 16:57:15 -03:00
Nikolay Rys
f79759717a
Feature proposal: Request instead of Env in callbacks ( #419 )
...
feat: allow easy access to the request object in the callbacks
2019-12-17 14:44:08 -03:00
fatkodima
2527b37221
Auto include middleware for older railses
2019-10-31 14:35:29 +02:00
Gonzalo Rodriguez
a103ff4819
Merge pull request #457 from kickstarter/fix_load
...
fix: avoid unintended effects on load_config_initializers and other gems load order
2019-10-30 15:13:05 -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
fatkodima
a34c187dda
Allow to configure Retry-After header for default throttled_response handler
2019-10-17 00:26:13 +03:00
Gonzalo Rodriguez
1167c65ba6
Don't autoplug middleware for untested rails versions
2019-10-12 18:10:10 -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
Gonzalo Rodriguez
8fafa7602b
style: fix Style/BlockDelimiters cop check
2019-08-02 15:24:17 -03:00
Gonzalo Rodriguez
f5a352b8f9
style: limit line length to 120 columns
2019-08-02 10:51:53 -03:00
Gonzalo Rodriguez
7dbb490c01
style: enabled Style/EmptyMethod rubocop
2019-03-01 21:09:46 -03:00
Gonzalo Rodriguez
f772d0b3cd
Merge pull request #406 from grzuy/optional_name
...
Make blocklist/safelist name argument optional
2019-02-28 21:01:55 -03:00
Gonzalo Rodriguez
6addaa11d0
feat: make blocklist/safelist name argument optional
2019-02-24 21:04:51 -03:00
Gonzalo Rodriguez
6c6dfb06e3
feat: match ActiveSupport Instrumentation event name format spec
2019-02-24 20:19:38 -03:00
Gonzalo Rodriguez
8cbd3dc0fc
feat: improve MisconfiguredStoreError exception message to aid debugging
2018-10-11 11:44:10 -03:00
Gonzalo Rodriguez
014f74b95d
Merge pull request #387 from grzuy/fix_redis_3_and_memory_store
...
[Fixes #355 ] Fix unexpected error when using redis 3 and any store which is not proxied
2018-10-08 11:33:34 -03:00
Gonzalo Rodriguez
82c0a17dd4
Test against Redis 3.x
2018-09-30 22:02:33 -03:00
Gonzalo Rodriguez
91dbb52235
Remove unwrapping
2018-09-30 13:32:08 -03:00
Jonathan del Strother
5cdc15b35a
Add a proxy to deal with ActiveSupport::Cache::MemCacheStore
...
If connection pooling is used with AS::Cache::MemCacheStore,
unwrap_active_support_stores wouldn't return the underlying dalli instance(s),
and so Rack::Attack.store would be the bare unproxied MemCacheStore instance.
Calling write then increment would silently fail because :raw wasn't used.
With this commit, we no longer try to unwrap AS::Cache::MemCacheStore instances.
2018-09-03 12:00:02 +01:00
Jonathan del Strother
03b8ce6f9e
Refactor the "doesn't leak keys" spec
2018-08-30 21:52:13 -03:00
Gonzalo Rodriguez
b40b5718dc
rubocop --auto-correct
2018-06-29 15:41:36 -03:00
Gonzalo Rodriguez
e50bfbebaa
Acceptance test plain redis as a cache store backend
2018-06-29 15:41:04 -03:00
Gonzalo Rodriguez
8315a1e7e1
Remove support for unmaintained ruby 2.2
2018-06-28 17:08:15 -03:00
Gonzalo Rodriguez
8802ebfbaf
Merge branch '255-correct-object-for-instrumentation'
2018-06-28 16:40:08 -03:00
Gonzalo Rodriguez
a72bfb5fc7
Only require redis stores when running their respective appraisal
2018-06-22 18:55:27 -03:00
Gonzalo Rodriguez
bd2ade8977
Only require connection_pool running connection_pool appraisal
2018-06-22 17:45:58 -03:00
Gonzalo Rodriguez
79de0d53e1
Only require dalli when running dalli appraisal
2018-06-22 17:45:03 -03:00
Gonzalo Rodriguez
9cc49b4760
Acceptance test ConnectionPool with Dalli::Client (via connection_pool and dalli) as cache store backend
2018-06-22 14:59:44 -03:00
Gonzalo Rodriguez
bcc1f5857e
Acceptance test ActiveSupport::Cache::MemoryStore (via activesupport) as cache store backend
2018-06-22 14:58:00 -03:00
Gonzalo Rodriguez
1f05ff30d5
Fix namespace of test file names
2018-06-22 14:55:22 -03:00
Gonzalo Rodriguez
831e4e9e97
Acceptance test Dalli::Client (via dalli) as cache store backend
2018-06-22 14:55:22 -03:00
Gonzalo Rodriguez
bca253c674
Acceptance test ActiveSupport::Cache::DalliStore (via dalli) as cache store backend
2018-06-22 14:54:46 -03:00
Gonzalo Rodriguez
93b1bf4c86
Acceptance test Redis::Store (redis-store) as cache store backend
2018-06-22 14:53:06 -03:00
Gonzalo Rodriguez
92f3b7fbd0
Acceptance test ActiveSupport::Cache::RedisStore (redis-activesupport) as cache store backend
2018-06-22 14:53:05 -03:00
Gonzalo Rodriguez
e830804586
Acceptance test pooled RedisCacheStore as a backend store
2018-06-20 17:47:21 -03:00
Gonzalo Rodriguez
7438e5122e
Non-leak acceptance test should only care about presence, not exact value
2018-06-19 14:00:20 -03:00