throw params in case or mismatch
This commit is contained in:
parent
f6c983978f
commit
eed223d19d
|
@ -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
|
||||||
|
|
Loading…
Reference in New Issue
Block a user