Amon2::Web/;どうやら前回見たsampleに加えて、Amon2::Webを継承しているようです。File::Spec;OSによるセパレータの違いを吸収してくれるモジュール。使ってる様子はないので謎。generated");}Amon2::Webを見に行くと分かりますが、dispatchという抽象メソッドが定義されているので、きっちりdispatchは用意しなきゃいけないです。ここでは単に、sample::Web::Dispatcherで割り振られたコントローラでレンダリングされたページのbodyが返ってきます。'+sample::Web::Plugin::Session',);ここではプラグインをロードしています。local以下にあるプラグイン(Amon2に標準で入っているものやCartonで入れたもの)を指定する以外にも、lib以下(自分で追加したもの)を指定したい場合には+を付けます。Web::FillInFormLiteはHTMLのformに対して、値を簡単に挿入したやることが出来る機能を提供します。</body></html>こうすると、name="hoge"のinput要素に"ほげ"という値が入ります。Web::JSONはjson_renderという、ハッシュリファレンスを渡すとjson形式のレスポンスを返してくれる機能を提供してくれます。APIを作る際には非常に重宝します。3つ目のsample::Web::Plugin::SessionはSession管理機能を提供してくれます。}}create_viewもdispatchと同様にAmon2::Webで抽象メソッドが定義されているので、実装しなければ行けません。create_viewは、Text::Xslateのオブジェクトを返しています。これはsample::Web::Viewを見に行けば分かるかと思います。このときにsample::Webのコンテキストも渡すようになっているので、configにText::Xslateという名前のハッシュを用意しておけば、Text::Xslateをnewするときに、その設定を読み込んでくれます。コメントにも書いてある通り、内部でメソッド自身を上書きすることで設定をキャッシュしています。これで、毎回オブジェクトを生成しなくて済むようになっています。},);最後にdispatch後に、httpレスポンスに対してゴニョゴニョするためのトリガを追加しています。ここでは主にセキュリティを強固にする設定を行っているようです。最初のX-Content-Type-Optitonsをnosniffにしているのは、簡単に言えばXSS対策です。詳しくは下記参考サイトを参照です。つかわないやつは死ねばいいのに!次のX-Frame-OptionsをDENYにしているのは、クリックジャッキング対策です。詳しくは下記参考サイトを参照です。クリックジャッキング対策(Apache/IIS)そして最後にCache-Controlをprivateにしているのは、プロキシキャッシュ対策です。詳しくは下記参考サイトを参照です。具体的なhttpレスポンスは以下のような物です。DENYここまででAmon2の流れを掴むは一旦の区切りとしたいと思います。