Rack

WEBrickのETag

Rack::ETagは、bodyがStringじゃないとETag作らないんだぜ。rack-contrib/lib/rack/etag.rb ... if !headers.has_key?('ETag') && body.is_a?(String) headers['ETag'] = %("#{Digest::MD5.hexdigest(body)}") end ... WEBrickは逆に静的ファイルだけだけど…

rack-contrib素人

Rack::ETag使いたい!ということで、rack-contrib入れようと思ってさ http://github.com/rack/rack-contrib/tree/master %gem sources -a http://gems.github.com %gem install rack-rack-contrib ERROR: find gem rack-rack-contrib locally or in a reposi…

Rack+WEBrick素人(2)

Rackで静的ファイルを使うのはRack::Staticだと思ったのでやってみた。hello_static_rack.rb #!/usr/bin/env ruby require 'rubygems' require 'rack' include Rack class HelloRack end app = Rack::Static.new(HelloRack.new, {:urls => ["/"], :root => "…

Rack+WEBrick素人

hello_rack.rb #!/usr/bin/env ruby require 'rubygems' require 'rack' include Rack class HelloRack def call(env) [200, {"Content-Type" => "text/plain"}, ["Hello, World!"]] end end Handler::WEBrick.run HelloRack.new, :Port => 3000 結果 http:/…

RackでEbbを動かしてみる。

RackでEbb、やってみたくなった。 以下のサイトを参考にして、Hello, Worldを出してみようとする。 満足せる豚。眠たげなポチ。:CGI から Mongrel まで、Rack で Web アプリを Web サーバから抽象化する %rackup -s ebb -p 10080 tiny_caller.ru /opt/local/…