Return 420 to a blacklisted client.

This commit is contained in:
Mathias Meyer 2013-07-09 11:37:37 +02:00
parent a46488078f
commit e6b61f92f4

View File

@ -64,6 +64,16 @@ module Travis::Api
def initialize def initialize
@app = Rack::Builder.app do @app = Rack::Builder.app do
Rack::Utils::HTTP_STATUS_CODES[420] = "Enhance Your Calm"
use Rack::Attack
Rack::Attack.blacklist('block client requesting ruby builds') do |req|
req.ip == "130.15.4.210"
end
Rack::Attack.blacklisted_response = lambda do |env|
[ 420, {}, ['Enhance Your Calm']]
end
use Travis::Api::App::Cors use Travis::Api::App::Cors
use Raven::Rack if Endpoint.production? use Raven::Rack if Endpoint.production?
use Rack::Protection::PathTraversal use Rack::Protection::PathTraversal
@ -87,12 +97,6 @@ module Travis::Api
env['travis.global_prefix'] = env['SCRIPT_NAME'] env['travis.global_prefix'] = env['SCRIPT_NAME']
end end
use Rack::Attack
Rack::Attack.blacklist('block client requesting ruby builds') do |req|
req.ip == "130.15.4.210"
end
use Travis::Api::App::Middleware::ScopeCheck use Travis::Api::App::Middleware::ScopeCheck
use Travis::Api::App::Middleware::Logging use Travis::Api::App::Middleware::Logging
use Travis::Api::App::Middleware::Metriks use Travis::Api::App::Middleware::Metriks