IEでPOSTなフォームから送信されたデータをCatalystで受け取るとなぜか空になっているというトラブル。時間を空けて試すと出来たりするから余計に訳が分からない。
パケットキャプチャして確認したら、うまくいくときはbodyの最後に0D 0Aが付いていなくて、失敗したときは付いている。Firefoxではいつも付いていない。
モジュールのバージョンを確認していたらHTTP::Bodyが0.6から0.9に上がっていたのでとりあえず更新してみたら、よく分からないまま解消。あとでドキュメント読んでみたら、こんなの書いてあった
0.8 2007-03-23 18:40:00 - Some browsers such as MSIE send extra data after the body content. We now properly ignore anything beyond Content-Length.