rack-attack 6.2.0 → 6.2.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/lib/rack/attack.rb +2 -1
- data/lib/rack/attack/railtie.rb +2 -10
- data/lib/rack/attack/version.rb +1 -1
- data/spec/acceptance/rails_middleware_spec.rb +0 -6
- data/spec/spec_helper.rb +2 -0
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 55b137d5d1174ac14bcbc494ba7c6753652c23348fef73c5ac712884e299a8d0
|
4
|
+
data.tar.gz: 9aae493ec090c669ea43f7a5f9bc8a10e6786266477a4dd65b05495c7559e469
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 2e283d8c8b2e5ffcd99435561230c6019a7a1f9637927d4ca29e0df2c9af9522cb84e60dddd040ab3429b1cc697213d80adb4a9b4cb7587933060ad6e426fabd
|
7
|
+
data.tar.gz: 1ef81c28f633e8c146a54a0930c706a3158aab568328743e0a3b0953bcbcba0bfb4a32a3e589ea1292c001ec6fd8d52a9c6de3cc4063b466045b692e92d27318
|
data/lib/rack/attack.rb
CHANGED
@@ -153,8 +153,9 @@ module Rack
|
|
153
153
|
end
|
154
154
|
|
155
155
|
def call(env)
|
156
|
-
return @app.call(env)
|
156
|
+
return @app.call(env) if !self.class.enabled || env["rack.attack.called"]
|
157
157
|
|
158
|
+
env["rack.attack.called"] = true
|
158
159
|
env['PATH_INFO'] = PathNormalizer.normalize_path(env['PATH_INFO'])
|
159
160
|
request = Rack::Attack::Request.new(env)
|
160
161
|
|
data/lib/rack/attack/railtie.rb
CHANGED
@@ -3,17 +3,9 @@
|
|
3
3
|
module Rack
|
4
4
|
class Attack
|
5
5
|
class Railtie < ::Rails::Railtie
|
6
|
-
initializer
|
6
|
+
initializer "rack-attack.middleware" do |app|
|
7
7
|
if Gem::Version.new(::Rails::VERSION::STRING) >= Gem::Version.new("5.1")
|
8
|
-
|
9
|
-
operations = middlewares.send(:operations) + middlewares.send(:delete_operations)
|
10
|
-
|
11
|
-
use_middleware = operations.none? do |operation|
|
12
|
-
middleware = operation[1]
|
13
|
-
middleware.include?(Rack::Attack)
|
14
|
-
end
|
15
|
-
|
16
|
-
middlewares.use(Rack::Attack) if use_middleware
|
8
|
+
app.middleware.use(Rack::Attack)
|
17
9
|
end
|
18
10
|
end
|
19
11
|
end
|
data/lib/rack/attack/version.rb
CHANGED
@@ -18,12 +18,6 @@ if defined?(Rails)
|
|
18
18
|
assert_equal 1, @app.middleware.count(Rack::Attack)
|
19
19
|
end
|
20
20
|
|
21
|
-
it "is not added when it was added explicitly" do
|
22
|
-
@app.config.middleware.use(Rack::Attack)
|
23
|
-
@app.initialize!
|
24
|
-
assert_equal 1, @app.middleware.count(Rack::Attack)
|
25
|
-
end
|
26
|
-
|
27
21
|
it "is not added when it was explicitly deleted" do
|
28
22
|
@app.config.middleware.delete(Rack::Attack)
|
29
23
|
@app.initialize!
|
data/spec/spec_helper.rb
CHANGED
@@ -46,6 +46,8 @@ class MiniTest::Spec
|
|
46
46
|
Rack::Builder.new do
|
47
47
|
# Use Rack::Lint to test that rack-attack is complying with the rack spec
|
48
48
|
use Rack::Lint
|
49
|
+
# Intentionally added twice to test idempotence property
|
50
|
+
use Rack::Attack
|
49
51
|
use Rack::Attack
|
50
52
|
use Rack::Lint
|
51
53
|
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: rack-attack
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 6.2.
|
4
|
+
version: 6.2.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Aaron Suggs
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2019-10-
|
11
|
+
date: 2019-10-30 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rack
|