おそらくはそれさえも平凡な日々

Plack::Request::WithEncodingがなぜ便利なのか

Plack::Request::WithEncoding というモジュールをリリースしました

上記の記事にも書いているのですが、Plack::Request::WithEncodigが便利なのは、単に車輪の再発明がされまくっているのが無駄感あるってのもあるんですけど、 個人的には$env->{'plack.request.withencoding.*'}に共通の格納位置を獲得したってのが大きいと思ってます。

例えば、リクエストの文字コード判別ってのは結構だるいのですが、アプリケーションの前段のPlack::Middlewareで、リクエストのエンコーディングの判別をして $env->{'plack.request.withencoding.encoding'}に格納しておくみたいなことをすることにより、よしなに文字列をdecodeしたりすることが出来るようになります。

まーそんなことを考えずとも、Perlでフレームワークを使わずにちょっとしたWebアプリケーションを作る際にだいぶお役立ちなモジュールであります。生でPlack::Requestを使うのはあまり推奨されていないので。

モジュール名やインターフェース、$envの中のキーの位置等はYAPC翌日のハッカソンで話し合われて、@moznion が実装してくれました。$env->{'plack.request.withencoding.*'}のキー決めなどは、Plack開発者であるmiyagawaさんやtokuhiromがいたからこそ決められたとも言えるので、一人では作れない協調性を持ったオープンソースソフトウェア開発の醍醐味を見た感じがしました。

created at
last modified at

2013-10-01T01:34:21+0900

comments powered by Disqus