2004-05-28 (Fri) [長年日記]
_ lily 0.1.5 on mod_ruby
ふと思い立って、lily 0.1.5をmod_rubyで動かしてみた。 やはりそのままでは動かなかったので、色々試行錯誤。
基本的に、以下のような変更で動いたようだ。
- へッダの出力にCGI#headerを使用。
- mod_rubyでは$SAFE == 1なのでとにかくuntaint。 (httpd.confに`RubySafeLevel 0'と書くという手もあるけど、modruby.netで使いたい のでなるべく正攻法で対処。)
- mod_rubyでは既存クラスの変更はできない(ほんとはできるけど)ので、 String#to_eucなどをNKF.nkfを直接使用するように変更。 (というか、呼び出し側ではstr.toeucだったりするので現状でも機能してないような)
あと、プラグインはinstance_evalで評価されるようなので、mod_rubyとの相性も 良さそう(Lilyのインスタンス毎に名前空間が独立になるから)なのだが、プラグインで 例外が発生したバックトレースが見にくいので、ちょっといじってみた。
結局、パッチ(diff -u --ignore-all-space --strip-trailing-cr)はこんな感じ。
<URL:/tmp/lilyset-mod_ruby.diff>
CGIでも同じコードで動作するので、できればマージしていただけるとうれしいです (とかいう報告はTrackbackでいいんでしょうか)。
_ helium.ruby-lang.orgがクラックされました
というわけです。ごめんなさい。
どうも。lilyを作っている者です。<br>mod_rubyやFastCGIには早く対応させたかったのですが、環境を用意できていないこともあってサボってました。<br>次バージョンで取り込ませていただきます。どうもありがとうございました。
すみません、どたばたしていてお返事できませんでした。<br>わたなべさんの日記にも書かれているように途中からreverse patchになってしまっているようです。どうもすみません。