throw params in case or mismatch

This commit is contained in:
Konstantin Haase 2012-12-06 15:49:36 +01:00
parent f6c983978f
commit eed223d19d

View File

@ -11,17 +11,19 @@ module Travis
end end
def call(env) def call(env)
return app.call(env) unless info = info_for(env) set_info(env) || app.call(env)
Rack::Response.new(template % info).finish
end end
def info_for(env) def set_info(env)
return unless env['REQUEST_METHOD'] == 'POST' return unless env['REQUEST_METHOD'] == 'POST'
request = Rack::Request.new(env) request = Rack::Request.new(env)
token, user, storage = request.params.values_at('token', 'user', 'storage') token, user, storage = request.params.values_at('token', 'user', 'storage')
if token =~ /\A[a-zA-Z\-_\d]+\Z/ if token =~ /\A[a-zA-Z\-_\d]+\Z/
storage = 'sessionStorage' if storage != 'localStorage' storage = 'sessionStorage' if storage != 'localStorage'
[storage, token, user, request.fullpath] info = [storage, token, user, request.fullpath]
Rack::Response.new(template % info).finish
else
[200, {'Content-Type' => 'text/plain'}, [request.params.inspect]]
end end
end end
end end