シンプルなrackアプリケーションを作ったら少しハマった
こんな感じで動かそうと思ってた。が、思った通り動かない。
gem install rack
app = lambda do |env|
[200, { "Content-Type" => "text/html"}, ["Hello world!\n"]]
end
run app
rackup simple_rackapp.ru
rackupコマンドが見つからない
おそらくRack3から、rackup
が別のgemとして切り出されていた。rackup でrackアプリケーションののインターフェースが提供され、 rack に実装が置かれているっぽい。ひとまず今回はrackupをインストールして解消した。
gem install rackup
ヘッダーに大文字が使えない
元の実装をrackupコマンドで立ち上げると、以下のエラーが発生した。headerの中で大文字が使われているとのこと。
Rack::Lint::LintError: uppercase character in header name: Content-Type (Rack::Lint::LintError)
Rack3のアップグレードガイド に該当の内容が書かれていた。
Response header keys can no longer include uppercase characters.
無事解消。
app = lambda do |env|
[200, { "content-type" => "text/html"}, ["Hello world!\n"]]
end