Получение ошибки стойки Rack::Lint::LintError: Статус должен быть>=100 и рассматриваться как целое число
Я пытаюсь создать мое приложение ruby на основе стойки, и я все еще новичок здесь, я использую ruby 1.9.2 -p180
в моем файле config.ru у меня есть:
require "rack"
require "./my_app.rb"
require "./auth.rb"
use Auth
run MyApp.new
Теперь основная проблема с Middleware Auth, просто я хочу, чтобы он не продолжал MyApp, если для запроса было меньше 2 параметров, и просто распечатывал что-то (только для тестирования):
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'
Конечно, если я запускаю его в производственном режиме, я не получу эту ошибку.
Любая помощь будет оценена здесь.
1 ответ
Решение
Попробуйте использовать целое число для статуса:
[200,{"Content-Type" => "text/plain"}, ["Hello World"]]
Вместо:
["200",{"Content-Type" => "text/plain"}, ["Hello World"]]