我正在尝试构建基于机架的 ruby 应用程序,但我还是新手,我正在使用 ruby 1.9.2 -p180
在我的 config.ru 文件中,我有:
require "rack"
require "./my_app.rb"
require "./auth.rb"
use Auth
run MyApp.new
现在中间件身份验证的主要问题,简单地说,如果请求的参数少于 2 个,我希望它不要继续 MyApp 并且只打印出一些东西(仅用于测试):
class Auth
def initialize(app)
@app = app
end
def call(env)
request = Rack::Request.new(env)
if request.params.count < 2
["200",{"Content-Type" => "text/plain"}, ["Hello World"]]
puts 'Working .. '
else
@app.call(env)
end
end
end
现在当我运行我的机架应用程序时:
rackup -s thin config.ru
并尝试得到结果:
curl http://localhost:9292/
我不断收到以下错误:
Rack::Lint::LintError: Status must be >=100 seen as integer
/Users/Apple/.rvm/gems/ruby-1.9.2-p180/gems/rack-1.4.1/lib/rack/lint.rb:19:in `assert'
/Users/Apple/.rvm/gems/ruby-1.9.2-p180/gems/rack-1.4.1/lib/rack/lint.rb:425:in `check_status'
当然,如果我以生产模式运行它,我将不会收到此错误。
任何帮助将不胜感激。