mod_estraier-0.2.0
もうちょいほいほいと。
http://modestraier.sourceforge.net/
http://prdownloads.sourceforge.net/modestraier/mod_estraier-0.2.0.tar.gz?download
同日リリースってどうなのさと思いつつまぁ肉の日とかいうヤツなんだきっと。んでさっそくバグ報告もらいつつかつ自分でもバグ見つけてるんで明日くらいには次が出る予感。
sf.net は同日リリースしようとすると翌日リリースの日付がつくみたい。
よく考えるとあたりまえなんだけど、 Apache はレスポンスを作っているのであって完成したレスポンスを処理してるんじゃない。だから最終段のフィルタとはいえ渡ってきた構造体は完全な状態じゃなくて、埋まってない部分とかがある。そんなこんなで、 Content-Encoding をリバースプロキシ動作時に取得するには、
apr_table_get(f->r->headers_out, "Content-Encoding") || apr_table_get(f->r->err_headers_out, "Content-Encoding") || f->r->content_encoding
とかをチェックしないといけないのかな…というか f->r->content_encoding に値が入っているところを見たことがない。たぶん mod_deflate が入れてるっぽい。あと、 err_headers_out はエラーが起きても出力するヘッダらしい。こんなところに Content-Encoding が入ってていいんかとか思うけどそれは mod_cgi がやってることだから知ったことじゃないチック。
つまり getenv("Content-Encoding") ですまないのがめんどうだな…と。ちなみに mod_proxy 動作時はなんでもかんでも f->r->headers_out に入っててらくちん。