NanoAの話ですが。
オフィシャルのcompile_errorはちゃんと動作するのだが、XREAではcompile_errorは動かない。
まあ、XREAはよいとしても、ローカル環境でも動かないのがとてもつらい。
CGI::ExceptionManagerがちゃんと働いていれば、コンパイル時のエラーも補足してくれるはずなのだが…。
と、思ってソースを見ていると、原因っぽいところがわかりました。
CGI::ExceptionManagerのoutputで、HTTPステータス500を出力していますが、そこの改行コードに問題があったようです。
「\r\n」になっているところを「\n」に変えてやるとちゃんとローカル環境でも動きました。
ただ、これがHTTP的に正しいのかどうかが少し疑問です。
…と、思ったのですが。
先日変更したステータス302の出力は「\n」でやっていました。
とりあえず、extlibにあったCGI::ExceptionManager::StackTrace::CGIは以下のように変更しました。
|
|
うーん。
ちゃんと動くようになって、なんだか、とってもスッキリしました。