diff --git a/lib/travis/api/app.rb b/lib/travis/api/app.rb index 474d902d..fb4ac081 100644 --- a/lib/travis/api/app.rb +++ b/lib/travis/api/app.rb @@ -64,6 +64,16 @@ module Travis::Api def initialize @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 Raven::Rack if Endpoint.production? use Rack::Protection::PathTraversal @@ -87,12 +97,6 @@ module Travis::Api env['travis.global_prefix'] = env['SCRIPT_NAME'] 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::Logging use Travis::Api::App::Middleware::Metriks