p expの不思議
DBを使わない方針なのでユーザ情報はユーザ毎のディレクトリに保存しています。
新しいユーザから要求が来たら、cgiでディレクトリを作成しますが、ディレクトリの存在確認も面倒なので同じユーザでもディレクトリを作成するようにしています。
普通にやるとExceptionが出るので、begin - rescueでくくってるのですが、デバッグ用にexceptionをprintしていました。
すると、cgiがエラーに....???
↓こんなコード
begin
Dir::mkdir("c:\\test")
rescue => exp
p exp
end
WEBrickを起動しているコンソール出ているメッセージを見ると、「ERROR bad header」と。
googleで検索してみてもそれらしい事例は引っかからない....
>[2009-04-30 11:12:01] ERROR bad header '"#
>localhost - - [30/Apr/2009:11:12:00 東京 (標準時)] "POST /request.rb HTTP/1.1" 500 385
HTTPのステータス500は内部エラーなんだけどな。
デバッグログを入れたりして調べた所、cgiの処理が全部終わってから上記のメッセージがコンソールに出る事が判明...
よくわからないので、rescueの「p exp」をコメントアウトすると、なんと動いた!
exceptionをthrowしたことになるのかな?
いや、そんなことはないと思うんだけど....
とりあえず「p exp」の部分をコメントアウトしました。
とりあえず、これでGWに入りまーす。