北海道苫小牧市出身の初老PGが書くブログ

永遠のプログラマを夢見る、苫小牧市出身のおじさんのちらしの裏

Apache1.3 にも mod_filter が欲しい

誰かそんなモジュールを知っていたら教えて下さい。


表題の通りなんです。まずは Apache::Filter に目をつけたんですが、こいつはあくまでもPerlHandler の出力へのフィルタリングなので、 汎用的に出力にフィルタリングするのは無理。そもそも、Apache1.3のAPIって、いきなりSOCKETに直結してるんですよね。つまり、コンテンツハンドラが終わってから処理を挟もうとしても、すでにデータを転送してしまってるわけです。


じゃあ、mod_gzip とかどうしてるの? ってことでちょろっとソースを覗き見。難しくてよくわからなかったんですが、どうやらファイルディスクリプタをこっそりとtempファイルへ差し替えて、コンテンツハンドラにはそのtempファイルへデータを書かせているように見えました。で、tempファイルを圧縮してクライアントへ返すって感じ。どうもまどろっこしいですね。っていうか、これはひどい


そんなわけで、mod_gzipみたいな手法を使えばCのAPIで実装はできるかもしれないですが、そこまでやる気もありません。どっかにmod_filter for 1.3.X 落ちてないもんですかねえ。