Hatena::Groupangelos

Angelos in Action RSSフィード

Fork me on GitHub
 | 

2009-09-06

PSGI後のWAFの作り方

13:45 | PSGI後のWAFの作り方 - Angelos in Action を含むブックマーク はてなブックマーク - PSGI後のWAFの作り方 - Angelos in Action PSGI後のWAFの作り方 - Angelos in Action のブックマークコメント

PSGI登場後は、WAFの作り方は以下のような感じになりそうです。

Server Gateweyの選択 + runループ

どのPSGIのServer Gatewayを選択するか選ぶ部分とrunループの実装を用意。

handler

handlerの実装については、psgi protcrolのみに。

  • PlackX::Builderで psgiのmiddlewareのhandler(coderef)をwrapしていって、アプリのhandlerをwrap
  • appのhandlerでは(Angelos::Request extends PlackX::Request)なリクエストをつくって、Angelos::Dispatcherにdispatchして、psgiプロトコルにのっとったresponse返す

Middleware

Middlewareについては、psgiプロトコルのみの実装を用意

  • HEMのmiddlewareはpsgiのmiddlewareとして実装しなおして、psgiプロトコルのみにする(HEM、Angelos::Middlewareは廃止)

全体のイメージ

イメージ的にはHEのrequest_handlerをpsgi_handlerにかえたものを用意するのと、Rack::Builderに相当するpsgi_handlerのbuilderを用意して、WAFからはそれを使うという感じです。

# この内容は今回のYAPCのスライドには盛り込みません...

 |