Router::Simpleいいね

RestなWebアプリケーションでは一意なURLとHTTPメソッドによって処理を行う。そういった目的ではURLとそれに対応する処理へディスパッチするライブラリが開発されている。
CGI環境変数のPATH_INFOとHTTPメソッドを使用するということになるが、煩雑な処理であるため、便利なライブラリを使用したいところ。
そういう状況にピッタリなライブラリがRouter::Simple。

HTTPメソッドとURLによって処理を決定するWebアプリケーションの形そのままに記述できるフレームワークは、Rubyで開発されたSinatraから「Sinatraライクな」と呼ばれることになるが、Router::Simpleでは「Sinatraライク」に記述することも可能に"することができる"。それはCPANのドキュメントに記載されている。

Restなアプリケーションを作るにあたって、ウェブブラウザが使えるHTTPメソッドは残念ながらGETとPOSTしかない。その為、X-HTTP-METHOD-OVERRIDEというヘッダを使用した方法があるそうな。
PlackではPlack::Middleware::MethodOverrideを読み込むことでPUTにもDELETEにも対応できる。

これとRouter::Simpleを組みあわせるとPlackでRestなアプリが作れそう。
(それなら始めからAmon2を使えば? とか言われそうだけどw)