apache2 + mod_ruby
どうも、影舞を mod_ruby で動かしたときのエラーメッセージがおかしい。HTTP/1.1 200 OK とか出力されてるし。mod_ruby は NPH のはずなんだけど・・・
影舞の問題かどうかを切り分けるために hello world を書いてテスト。
print "HTTP/1.1 200 OK\r\n" print "Content-Type: text/plain\r\n\r\n" print "hello world\r\n"
こうすると、HTTP/1.1 200 OK から全部出力されるし、
print "Content-Type: text/plain\r\n\r\n" print "hello world\r\n"
こうしても Content-Type の行から出力されるし。
ぐるぐる探したところ、apache2 だと NPH として動かないという情報が。でも、Content-Type とかも正しく指定できないし、NPH として動いてないというよりは HTTP ヘッダを勝手に作ってるような気が。
require 'cgi' cgi = CGI.new print cgi.header({"type"=>"text/plain"}) print "hello world\r\n"
こうするとうまくいくから、cgi.rb はどうやってるんだって覗いてみると、Apache::Request クラスを使っていろいろやってるのを発見。だるすぎる。