mirror of
https://github.com/samsonjs/rack-attack.git
synced 2026-04-27 15:07:41 +00:00
Merge pull request #365 from grzuy/remove_ruby_2_2
Remove support for unmaintained ruby 2.2
This commit is contained in:
commit
7458023644
74 changed files with 145 additions and 3 deletions
|
|
@ -3,7 +3,7 @@ inherit_mode:
|
||||||
- Exclude
|
- Exclude
|
||||||
|
|
||||||
AllCops:
|
AllCops:
|
||||||
TargetRubyVersion: 2.2
|
TargetRubyVersion: 2.3
|
||||||
DisabledByDefault: true
|
DisabledByDefault: true
|
||||||
Exclude:
|
Exclude:
|
||||||
- "examples/instrumentation.rb"
|
- "examples/instrumentation.rb"
|
||||||
|
|
|
||||||
|
|
@ -6,7 +6,6 @@ rvm:
|
||||||
- 2.5.1
|
- 2.5.1
|
||||||
- 2.4.4
|
- 2.4.4
|
||||||
- 2.3.7
|
- 2.3.7
|
||||||
- 2.2.10
|
|
||||||
- jruby-9.1.16.0
|
- jruby-9.1.16.0
|
||||||
|
|
||||||
before_install:
|
before_install:
|
||||||
|
|
|
||||||
|
|
@ -1,3 +1,5 @@
|
||||||
|
# frozen_string_literal: true
|
||||||
|
|
||||||
appraise "rack_2_0" do
|
appraise "rack_2_0" do
|
||||||
gem "rack", "~> 2.0.4"
|
gem "rack", "~> 2.0.4"
|
||||||
end
|
end
|
||||||
|
|
|
||||||
2
Gemfile
2
Gemfile
|
|
@ -1,3 +1,5 @@
|
||||||
|
# frozen_string_literal: true
|
||||||
|
|
||||||
source 'https://rubygems.org'
|
source 'https://rubygems.org'
|
||||||
|
|
||||||
gemspec
|
gemspec
|
||||||
|
|
|
||||||
2
Rakefile
2
Rakefile
|
|
@ -1,3 +1,5 @@
|
||||||
|
# frozen_string_literal: true
|
||||||
|
|
||||||
require "rubygems"
|
require "rubygems"
|
||||||
require "bundler/setup"
|
require "bundler/setup"
|
||||||
require 'bundler/gem_tasks'
|
require 'bundler/gem_tasks'
|
||||||
|
|
|
||||||
|
|
@ -1,3 +1,5 @@
|
||||||
|
# frozen_string_literal: true
|
||||||
|
|
||||||
# NB: `req` is a Rack::Request object (basically an env hash with friendly accessor methods)
|
# NB: `req` is a Rack::Request object (basically an env hash with friendly accessor methods)
|
||||||
|
|
||||||
# Throttle 10 requests/ip/second
|
# Throttle 10 requests/ip/second
|
||||||
|
|
|
||||||
|
|
@ -1,3 +1,5 @@
|
||||||
|
# frozen_string_literal: true
|
||||||
|
|
||||||
# This file was generated by Appraisal
|
# This file was generated by Appraisal
|
||||||
|
|
||||||
source "https://rubygems.org"
|
source "https://rubygems.org"
|
||||||
|
|
|
||||||
|
|
@ -1,3 +1,5 @@
|
||||||
|
# frozen_string_literal: true
|
||||||
|
|
||||||
# This file was generated by Appraisal
|
# This file was generated by Appraisal
|
||||||
|
|
||||||
source "https://rubygems.org"
|
source "https://rubygems.org"
|
||||||
|
|
|
||||||
|
|
@ -1,3 +1,5 @@
|
||||||
|
# frozen_string_literal: true
|
||||||
|
|
||||||
# This file was generated by Appraisal
|
# This file was generated by Appraisal
|
||||||
|
|
||||||
source "https://rubygems.org"
|
source "https://rubygems.org"
|
||||||
|
|
|
||||||
|
|
@ -1,3 +1,5 @@
|
||||||
|
# frozen_string_literal: true
|
||||||
|
|
||||||
# This file was generated by Appraisal
|
# This file was generated by Appraisal
|
||||||
|
|
||||||
source "https://rubygems.org"
|
source "https://rubygems.org"
|
||||||
|
|
|
||||||
|
|
@ -1,3 +1,5 @@
|
||||||
|
# frozen_string_literal: true
|
||||||
|
|
||||||
# This file was generated by Appraisal
|
# This file was generated by Appraisal
|
||||||
|
|
||||||
source "https://rubygems.org"
|
source "https://rubygems.org"
|
||||||
|
|
|
||||||
|
|
@ -1,3 +1,5 @@
|
||||||
|
# frozen_string_literal: true
|
||||||
|
|
||||||
# This file was generated by Appraisal
|
# This file was generated by Appraisal
|
||||||
|
|
||||||
source "https://rubygems.org"
|
source "https://rubygems.org"
|
||||||
|
|
|
||||||
|
|
@ -1,3 +1,5 @@
|
||||||
|
# frozen_string_literal: true
|
||||||
|
|
||||||
# This file was generated by Appraisal
|
# This file was generated by Appraisal
|
||||||
|
|
||||||
source "https://rubygems.org"
|
source "https://rubygems.org"
|
||||||
|
|
|
||||||
|
|
@ -1,3 +1,5 @@
|
||||||
|
# frozen_string_literal: true
|
||||||
|
|
||||||
# This file was generated by Appraisal
|
# This file was generated by Appraisal
|
||||||
|
|
||||||
source "https://rubygems.org"
|
source "https://rubygems.org"
|
||||||
|
|
|
||||||
|
|
@ -1,3 +1,5 @@
|
||||||
|
# frozen_string_literal: true
|
||||||
|
|
||||||
# This file was generated by Appraisal
|
# This file was generated by Appraisal
|
||||||
|
|
||||||
source "https://rubygems.org"
|
source "https://rubygems.org"
|
||||||
|
|
|
||||||
|
|
@ -1,3 +1,5 @@
|
||||||
|
# frozen_string_literal: true
|
||||||
|
|
||||||
# This file was generated by Appraisal
|
# This file was generated by Appraisal
|
||||||
|
|
||||||
source "https://rubygems.org"
|
source "https://rubygems.org"
|
||||||
|
|
|
||||||
|
|
@ -1,3 +1,5 @@
|
||||||
|
# frozen_string_literal: true
|
||||||
|
|
||||||
# This file was generated by Appraisal
|
# This file was generated by Appraisal
|
||||||
|
|
||||||
source "https://rubygems.org"
|
source "https://rubygems.org"
|
||||||
|
|
|
||||||
|
|
@ -1,3 +1,5 @@
|
||||||
|
# frozen_string_literal: true
|
||||||
|
|
||||||
require 'rack'
|
require 'rack'
|
||||||
require 'forwardable'
|
require 'forwardable'
|
||||||
require 'rack/attack/path_normalizer'
|
require 'rack/attack/path_normalizer'
|
||||||
|
|
|
||||||
|
|
@ -1,3 +1,5 @@
|
||||||
|
# frozen_string_literal: true
|
||||||
|
|
||||||
module Rack
|
module Rack
|
||||||
class Attack
|
class Attack
|
||||||
class Allow2Ban < Fail2Ban
|
class Allow2Ban < Fail2Ban
|
||||||
|
|
|
||||||
|
|
@ -1,3 +1,5 @@
|
||||||
|
# frozen_string_literal: true
|
||||||
|
|
||||||
module Rack
|
module Rack
|
||||||
class Attack
|
class Attack
|
||||||
class Blocklist < Check
|
class Blocklist < Check
|
||||||
|
|
|
||||||
|
|
@ -1,3 +1,5 @@
|
||||||
|
# frozen_string_literal: true
|
||||||
|
|
||||||
module Rack
|
module Rack
|
||||||
class Attack
|
class Attack
|
||||||
class Cache
|
class Cache
|
||||||
|
|
|
||||||
|
|
@ -1,3 +1,5 @@
|
||||||
|
# frozen_string_literal: true
|
||||||
|
|
||||||
module Rack
|
module Rack
|
||||||
class Attack
|
class Attack
|
||||||
class Check
|
class Check
|
||||||
|
|
|
||||||
|
|
@ -1,3 +1,5 @@
|
||||||
|
# frozen_string_literal: true
|
||||||
|
|
||||||
module Rack
|
module Rack
|
||||||
class Attack
|
class Attack
|
||||||
class Fail2Ban
|
class Fail2Ban
|
||||||
|
|
|
||||||
|
|
@ -1,3 +1,5 @@
|
||||||
|
# frozen_string_literal: true
|
||||||
|
|
||||||
class Rack::Attack
|
class Rack::Attack
|
||||||
# When using Rack::Attack with a Rails app, developers expect the request path
|
# When using Rack::Attack with a Rails app, developers expect the request path
|
||||||
# to be normalized. In particular, trailing slashes are stripped.
|
# to be normalized. In particular, trailing slashes are stripped.
|
||||||
|
|
|
||||||
|
|
@ -1,3 +1,5 @@
|
||||||
|
# frozen_string_literal: true
|
||||||
|
|
||||||
# Rack::Attack::Request is the same as ::Rack::Request by default.
|
# Rack::Attack::Request is the same as ::Rack::Request by default.
|
||||||
#
|
#
|
||||||
# This is a safe place to add custom helper methods to the request object
|
# This is a safe place to add custom helper methods to the request object
|
||||||
|
|
|
||||||
|
|
@ -1,3 +1,5 @@
|
||||||
|
# frozen_string_literal: true
|
||||||
|
|
||||||
module Rack
|
module Rack
|
||||||
class Attack
|
class Attack
|
||||||
class Safelist < Check
|
class Safelist < Check
|
||||||
|
|
|
||||||
|
|
@ -1,3 +1,5 @@
|
||||||
|
# frozen_string_literal: true
|
||||||
|
|
||||||
module Rack
|
module Rack
|
||||||
class Attack
|
class Attack
|
||||||
module StoreProxy
|
module StoreProxy
|
||||||
|
|
|
||||||
|
|
@ -1,3 +1,5 @@
|
||||||
|
# frozen_string_literal: true
|
||||||
|
|
||||||
require 'delegate'
|
require 'delegate'
|
||||||
|
|
||||||
module Rack
|
module Rack
|
||||||
|
|
|
||||||
|
|
@ -1,3 +1,5 @@
|
||||||
|
# frozen_string_literal: true
|
||||||
|
|
||||||
module Rack
|
module Rack
|
||||||
class Attack
|
class Attack
|
||||||
module StoreProxy
|
module StoreProxy
|
||||||
|
|
|
||||||
|
|
@ -1,3 +1,5 @@
|
||||||
|
# frozen_string_literal: true
|
||||||
|
|
||||||
require 'delegate'
|
require 'delegate'
|
||||||
|
|
||||||
module Rack
|
module Rack
|
||||||
|
|
|
||||||
|
|
@ -1,3 +1,5 @@
|
||||||
|
# frozen_string_literal: true
|
||||||
|
|
||||||
require 'delegate'
|
require 'delegate'
|
||||||
|
|
||||||
module Rack
|
module Rack
|
||||||
|
|
|
||||||
|
|
@ -1,3 +1,5 @@
|
||||||
|
# frozen_string_literal: true
|
||||||
|
|
||||||
module Rack
|
module Rack
|
||||||
class Attack
|
class Attack
|
||||||
class Throttle
|
class Throttle
|
||||||
|
|
|
||||||
|
|
@ -1,3 +1,5 @@
|
||||||
|
# frozen_string_literal: true
|
||||||
|
|
||||||
module Rack
|
module Rack
|
||||||
class Attack
|
class Attack
|
||||||
class Track
|
class Track
|
||||||
|
|
|
||||||
|
|
@ -1,3 +1,5 @@
|
||||||
|
# frozen_string_literal: true
|
||||||
|
|
||||||
module Rack
|
module Rack
|
||||||
class Attack
|
class Attack
|
||||||
VERSION = '5.3.2'
|
VERSION = '5.3.2'
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,5 @@
|
||||||
# -*- encoding: utf-8 -*-
|
# -*- encoding: utf-8 -*-
|
||||||
|
# frozen_string_literal: true
|
||||||
|
|
||||||
lib = File.expand_path('../lib/', __FILE__)
|
lib = File.expand_path('../lib/', __FILE__)
|
||||||
$:.unshift lib unless $:.include?(lib)
|
$:.unshift lib unless $:.include?(lib)
|
||||||
|
|
@ -27,7 +28,7 @@ Gem::Specification.new do |s|
|
||||||
"source_code_uri" => "https://github.com/kickstarter/rack-attack"
|
"source_code_uri" => "https://github.com/kickstarter/rack-attack"
|
||||||
}
|
}
|
||||||
|
|
||||||
s.required_ruby_version = '>= 2.2'
|
s.required_ruby_version = '>= 2.3'
|
||||||
|
|
||||||
s.add_runtime_dependency 'rack', ">= 1.0", "< 3"
|
s.add_runtime_dependency 'rack', ">= 1.0", "< 3"
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,3 +1,5 @@
|
||||||
|
# frozen_string_literal: true
|
||||||
|
|
||||||
require_relative "../spec_helper"
|
require_relative "../spec_helper"
|
||||||
require "timecop"
|
require "timecop"
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,3 +1,5 @@
|
||||||
|
# frozen_string_literal: true
|
||||||
|
|
||||||
require_relative "../spec_helper"
|
require_relative "../spec_helper"
|
||||||
|
|
||||||
describe "Blocking an IP" do
|
describe "Blocking an IP" do
|
||||||
|
|
|
||||||
|
|
@ -1,3 +1,5 @@
|
||||||
|
# frozen_string_literal: true
|
||||||
|
|
||||||
require_relative "../spec_helper"
|
require_relative "../spec_helper"
|
||||||
|
|
||||||
describe "#blocklist" do
|
describe "#blocklist" do
|
||||||
|
|
|
||||||
|
|
@ -1,3 +1,5 @@
|
||||||
|
# frozen_string_literal: true
|
||||||
|
|
||||||
require_relative "../spec_helper"
|
require_relative "../spec_helper"
|
||||||
|
|
||||||
describe "Blocking an IP subnet" do
|
describe "Blocking an IP subnet" do
|
||||||
|
|
|
||||||
|
|
@ -1,3 +1,5 @@
|
||||||
|
# frozen_string_literal: true
|
||||||
|
|
||||||
require_relative "../spec_helper"
|
require_relative "../spec_helper"
|
||||||
|
|
||||||
describe "Cache store config when using allow2ban" do
|
describe "Cache store config when using allow2ban" do
|
||||||
|
|
|
||||||
|
|
@ -1,3 +1,5 @@
|
||||||
|
# frozen_string_literal: true
|
||||||
|
|
||||||
require_relative "../spec_helper"
|
require_relative "../spec_helper"
|
||||||
|
|
||||||
describe "Cache store config when using fail2ban" do
|
describe "Cache store config when using fail2ban" do
|
||||||
|
|
|
||||||
|
|
@ -1,3 +1,5 @@
|
||||||
|
# frozen_string_literal: true
|
||||||
|
|
||||||
require_relative "../spec_helper"
|
require_relative "../spec_helper"
|
||||||
|
|
||||||
describe "Cache store config when throttling without Rails" do
|
describe "Cache store config when throttling without Rails" do
|
||||||
|
|
|
||||||
|
|
@ -1,3 +1,5 @@
|
||||||
|
# frozen_string_literal: true
|
||||||
|
|
||||||
require_relative "../spec_helper"
|
require_relative "../spec_helper"
|
||||||
require "minitest/stub_const"
|
require "minitest/stub_const"
|
||||||
require "ostruct"
|
require "ostruct"
|
||||||
|
|
|
||||||
|
|
@ -1,3 +1,5 @@
|
||||||
|
# frozen_string_literal: true
|
||||||
|
|
||||||
require_relative "../spec_helper"
|
require_relative "../spec_helper"
|
||||||
|
|
||||||
describe "Customizing block responses" do
|
describe "Customizing block responses" do
|
||||||
|
|
|
||||||
|
|
@ -1,3 +1,5 @@
|
||||||
|
# frozen_string_literal: true
|
||||||
|
|
||||||
require_relative "../spec_helper"
|
require_relative "../spec_helper"
|
||||||
|
|
||||||
describe "Customizing throttled response" do
|
describe "Customizing throttled response" do
|
||||||
|
|
|
||||||
|
|
@ -1,3 +1,5 @@
|
||||||
|
# frozen_string_literal: true
|
||||||
|
|
||||||
require_relative "../spec_helper"
|
require_relative "../spec_helper"
|
||||||
|
|
||||||
describe "Extending the request object" do
|
describe "Extending the request object" do
|
||||||
|
|
|
||||||
|
|
@ -1,3 +1,5 @@
|
||||||
|
# frozen_string_literal: true
|
||||||
|
|
||||||
require_relative "../spec_helper"
|
require_relative "../spec_helper"
|
||||||
require "timecop"
|
require "timecop"
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,3 +1,5 @@
|
||||||
|
# frozen_string_literal: true
|
||||||
|
|
||||||
require_relative "../spec_helper"
|
require_relative "../spec_helper"
|
||||||
|
|
||||||
describe "Safelist an IP" do
|
describe "Safelist an IP" do
|
||||||
|
|
|
||||||
|
|
@ -1,3 +1,5 @@
|
||||||
|
# frozen_string_literal: true
|
||||||
|
|
||||||
require_relative "../spec_helper"
|
require_relative "../spec_helper"
|
||||||
|
|
||||||
describe "#safelist" do
|
describe "#safelist" do
|
||||||
|
|
|
||||||
|
|
@ -1,3 +1,5 @@
|
||||||
|
# frozen_string_literal: true
|
||||||
|
|
||||||
require_relative "../spec_helper"
|
require_relative "../spec_helper"
|
||||||
|
|
||||||
describe "Safelisting an IP subnet" do
|
describe "Safelisting an IP subnet" do
|
||||||
|
|
|
||||||
|
|
@ -1,3 +1,5 @@
|
||||||
|
# frozen_string_literal: true
|
||||||
|
|
||||||
require_relative "../../spec_helper"
|
require_relative "../../spec_helper"
|
||||||
|
|
||||||
if defined?(::Dalli)
|
if defined?(::Dalli)
|
||||||
|
|
|
||||||
|
|
@ -1,3 +1,5 @@
|
||||||
|
# frozen_string_literal: true
|
||||||
|
|
||||||
require_relative "../../spec_helper"
|
require_relative "../../spec_helper"
|
||||||
|
|
||||||
if defined?(::Dalli)
|
if defined?(::Dalli)
|
||||||
|
|
|
||||||
|
|
@ -1,3 +1,5 @@
|
||||||
|
# frozen_string_literal: true
|
||||||
|
|
||||||
require_relative "../../spec_helper"
|
require_relative "../../spec_helper"
|
||||||
require_relative "../../support/cache_store_helper"
|
require_relative "../../support/cache_store_helper"
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,3 +1,5 @@
|
||||||
|
# frozen_string_literal: true
|
||||||
|
|
||||||
require_relative "../../spec_helper"
|
require_relative "../../spec_helper"
|
||||||
|
|
||||||
if defined?(::ConnectionPool) && defined?(::Redis) && defined?(::ActiveSupport::Cache::RedisCacheStore)
|
if defined?(::ConnectionPool) && defined?(::Redis) && defined?(::ActiveSupport::Cache::RedisCacheStore)
|
||||||
|
|
|
||||||
|
|
@ -1,3 +1,5 @@
|
||||||
|
# frozen_string_literal: true
|
||||||
|
|
||||||
require_relative "../../spec_helper"
|
require_relative "../../spec_helper"
|
||||||
|
|
||||||
if defined?(::Redis) && defined?(::ActiveSupport::Cache::RedisCacheStore)
|
if defined?(::Redis) && defined?(::ActiveSupport::Cache::RedisCacheStore)
|
||||||
|
|
|
||||||
|
|
@ -1,3 +1,5 @@
|
||||||
|
# frozen_string_literal: true
|
||||||
|
|
||||||
require_relative "../../spec_helper"
|
require_relative "../../spec_helper"
|
||||||
|
|
||||||
if defined?(::ActiveSupport::Cache::RedisStore)
|
if defined?(::ActiveSupport::Cache::RedisStore)
|
||||||
|
|
|
||||||
|
|
@ -1,3 +1,5 @@
|
||||||
|
# frozen_string_literal: true
|
||||||
|
|
||||||
require_relative "../../spec_helper"
|
require_relative "../../spec_helper"
|
||||||
|
|
||||||
if defined?(::Dalli) && defined?(::ConnectionPool)
|
if defined?(::Dalli) && defined?(::ConnectionPool)
|
||||||
|
|
|
||||||
|
|
@ -1,3 +1,5 @@
|
||||||
|
# frozen_string_literal: true
|
||||||
|
|
||||||
require_relative "../../spec_helper"
|
require_relative "../../spec_helper"
|
||||||
|
|
||||||
if defined?(::Dalli)
|
if defined?(::Dalli)
|
||||||
|
|
|
||||||
|
|
@ -1,3 +1,5 @@
|
||||||
|
# frozen_string_literal: true
|
||||||
|
|
||||||
require_relative "../../spec_helper"
|
require_relative "../../spec_helper"
|
||||||
require_relative "../../support/cache_store_helper"
|
require_relative "../../support/cache_store_helper"
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,3 +1,5 @@
|
||||||
|
# frozen_string_literal: true
|
||||||
|
|
||||||
require_relative "../spec_helper"
|
require_relative "../spec_helper"
|
||||||
require "timecop"
|
require "timecop"
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,3 +1,5 @@
|
||||||
|
# frozen_string_literal: true
|
||||||
|
|
||||||
require_relative "../spec_helper"
|
require_relative "../spec_helper"
|
||||||
|
|
||||||
describe "#track" do
|
describe "#track" do
|
||||||
|
|
|
||||||
|
|
@ -1,3 +1,5 @@
|
||||||
|
# frozen_string_literal: true
|
||||||
|
|
||||||
require_relative "../spec_helper"
|
require_relative "../spec_helper"
|
||||||
require "timecop"
|
require "timecop"
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,3 +1,5 @@
|
||||||
|
# frozen_string_literal: true
|
||||||
|
|
||||||
require_relative 'spec_helper'
|
require_relative 'spec_helper'
|
||||||
|
|
||||||
describe 'Rack::Attack.Allow2Ban' do
|
describe 'Rack::Attack.Allow2Ban' do
|
||||||
|
|
|
||||||
|
|
@ -1,3 +1,5 @@
|
||||||
|
# frozen_string_literal: true
|
||||||
|
|
||||||
require_relative 'spec_helper'
|
require_relative 'spec_helper'
|
||||||
|
|
||||||
describe 'Rack::Attack.Fail2Ban' do
|
describe 'Rack::Attack.Fail2Ban' do
|
||||||
|
|
|
||||||
|
|
@ -1,3 +1,5 @@
|
||||||
|
# frozen_string_literal: true
|
||||||
|
|
||||||
require 'active_support/cache'
|
require 'active_support/cache'
|
||||||
require_relative '../spec_helper'
|
require_relative '../spec_helper'
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,3 +1,5 @@
|
||||||
|
# frozen_string_literal: true
|
||||||
|
|
||||||
require_relative 'spec_helper'
|
require_relative 'spec_helper'
|
||||||
|
|
||||||
describe Rack::Attack::StoreProxy::DalliProxy do
|
describe Rack::Attack::StoreProxy::DalliProxy do
|
||||||
|
|
|
||||||
|
|
@ -1,3 +1,5 @@
|
||||||
|
# frozen_string_literal: true
|
||||||
|
|
||||||
# ActiveSupport::Subscribers added in ~> 4.0.2.0
|
# ActiveSupport::Subscribers added in ~> 4.0.2.0
|
||||||
if ActiveSupport::VERSION::MAJOR > 3
|
if ActiveSupport::VERSION::MAJOR > 3
|
||||||
require_relative 'spec_helper'
|
require_relative 'spec_helper'
|
||||||
|
|
|
||||||
|
|
@ -1,3 +1,5 @@
|
||||||
|
# frozen_string_literal: true
|
||||||
|
|
||||||
require_relative 'spec_helper'
|
require_relative 'spec_helper'
|
||||||
|
|
||||||
describe Rack::Attack::PathNormalizer do
|
describe Rack::Attack::PathNormalizer do
|
||||||
|
|
|
||||||
|
|
@ -1,3 +1,5 @@
|
||||||
|
# frozen_string_literal: true
|
||||||
|
|
||||||
require_relative 'spec_helper'
|
require_relative 'spec_helper'
|
||||||
|
|
||||||
describe 'Rack::Attack' do
|
describe 'Rack::Attack' do
|
||||||
|
|
|
||||||
|
|
@ -1,3 +1,5 @@
|
||||||
|
# frozen_string_literal: true
|
||||||
|
|
||||||
require_relative 'spec_helper'
|
require_relative 'spec_helper'
|
||||||
|
|
||||||
describe 'Rack::Attack' do
|
describe 'Rack::Attack' do
|
||||||
|
|
|
||||||
|
|
@ -1,3 +1,5 @@
|
||||||
|
# frozen_string_literal: true
|
||||||
|
|
||||||
require_relative 'spec_helper'
|
require_relative 'spec_helper'
|
||||||
|
|
||||||
describe 'Rack::Attack.throttle' do
|
describe 'Rack::Attack.throttle' do
|
||||||
|
|
|
||||||
|
|
@ -1,3 +1,5 @@
|
||||||
|
# frozen_string_literal: true
|
||||||
|
|
||||||
require_relative 'spec_helper'
|
require_relative 'spec_helper'
|
||||||
|
|
||||||
describe 'Rack::Attack.track' do
|
describe 'Rack::Attack.track' do
|
||||||
|
|
|
||||||
|
|
@ -1,3 +1,5 @@
|
||||||
|
# frozen_string_literal: true
|
||||||
|
|
||||||
require "rubygems"
|
require "rubygems"
|
||||||
require "bundler/setup"
|
require "bundler/setup"
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,3 +1,5 @@
|
||||||
|
# frozen_string_literal: true
|
||||||
|
|
||||||
class Minitest::Spec
|
class Minitest::Spec
|
||||||
def self.it_works_for_cache_backed_features
|
def self.it_works_for_cache_backed_features
|
||||||
it "works for throttle" do
|
it "works for throttle" do
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue