Plack::middleware を movable type に適用する
PSGI で構築されたアプリケーションに様々な処理を追加出来る Plack::Middleware をロードする機能を、Movable Type 5.2.4 に追加しました。 本ページでは、PSGI/Plack 環境で稼働している Movable Type に、プラグインから Plack::Middleware を追加する方法について説明します。
Plack::Middleware の作成方法や、インストール方法についての説明は、割愛します。
プラグインから Plack::Middleware を追加するには、プラグインの config.yaml などで、レジストリの plack_middlewares に Plack::Middleware の情報を登録します。指定可能な項目は、以下の通りです。
Plack::Middleware のパッケージ名を配列で指定します。パッケージ名は、Plack::Middleware:: 以降を指定します。
Plack::Middlware に渡すオプションがある場合は、オプションのキーと値やハンドラーなどのペアを配列で指定します。キーに対応する値の指定は、4つの指定の仕方があり、いずれか1つの方法でキーとペアにする必要があります。
ロードする Plack::Middleware で用意されているオプションの名前を指定します。
値を直接文字で指定します。
Perl のサブルーチンを記述します。
Perl の実行コードへのハンドラーを指定します。
Plack::Middleware の実行を制御するコンディションを Perl のサブルーチンや、コードへのハンドラーを指定できます。 0 を返すと、その Plack::Middleware をロードしません。
Plack::Middleware を適用する Movable Type アプリケーションを指定します。指定できる Movable Type アプリケーションは、レジストリの applications に登録されている各アプリケーションのキー名です。
(例: cms, tb, comments, new_search など)
apply_to の指定が無い場合や、allを指定した場合には、全ての Movable Type アプリケーションに対して Plack::Middleware を適用します。
plack_middlewares:
- name: Sample::Middleware
options:
- key: foo
value: any value
- key: bar
code: >
sub {
my $val;
# do some thing
return $val;
}
- key: baz
handler: Your::Plugin::hdlr_baz
condition: Your::Plugin::condition
apply_to:
- cms
- new_search