Catalystの実行環境の抽象化あたりの流れ

実行環境抽象化に関係ありそうなところだけを抜き出し。Catalyst.pmしか見てなくて、大雑把に把握しかしてないから多分抜けてるところがあり。

というかまあCatalystの実行環境抽象化部分だけ取り出してモジュールができないかなーと思って大体の処理の流れをつかむためにメモっただけなんで正確性はアレ。まあこんな感じかなーとつかむのには良いかも。

とりあえずCatalystのコードは追うのは面倒だけど結構分かりやすい。

Catalyst
run
handle_request
prepare
if ( engine.can('prepare') ) {
engine.preapre
}
else {
prepare_request
prepare_connection
prepare_query_paramters
prepare_headers
prepare_cookies
prepare_path
unless ( config.parse_on_demand ) \{
prepare_body
}
prepare_action
}
disaptch
dispatcher.dispatch
finalize
if ( engine.can('finalize') ) {
engine.finalize
}
else {
finalize_upload
if ( error.last >= 0 ) {
finalize_error
}
finalize_headers
finalize_cookies
engine.finalize_headers
if ( request.method eq 'HEAD' ) {
response.body = ''
}
finalize_body
}

#FIXME

nyarlaが大体

Scrapbox.io でコメントや意見を書く