Pixel Pedals of Tomakomai

北海道苫小牧市出身の初老の日常

Plack::Middleware::WebSocket and Web::Hippie

YAPCで@clkaoさんのトークを聞いて興味が湧いたので、Plack::Middleware::WebSocketechoのサンプルWeb::Hippieを使って書き換えてみました。

書き換え方はこんな感じ。



  • Web::Hippieのよいところ
    • WebSocketだけでなく、Multiple XMLHttpRequestやlong pollにも対応している
    • AnyEvent::Handleを意識しなくてよい
  • Web::Hippieのいまいちなところ

後、これらは所詮はMiddlewareなので、WAFが持つような機能は期待できません。ルーティングやテンプレートエンジンは別の方法を探す必要があります。

*1:クライアントからのデータを受け取った時のハンドラがPSGIアプリケーションなので、少し違和感がある。特にWebSocketの時はHTTPリクエストが発生していないのにPSGIアプリケーションがコールされる。