Skip to content

Plack::middleware を movable type に適用する

Nick-smallworld edited this page Feb 23, 2013 · 3 revisions

Plack::Middleware を Movable Type に適用する (5.2.4)

PSGI で構築されたアプリケーションに様々な処理を追加出来る Plack::Middleware をロードする機能を、Movable Type 5.2.4 に追加しました。 本ページでは、PSGI/Plack 環境で稼働している Movable Type に、プラグインから Plack::Middleware を追加する方法について説明します。

Plack::Middleware の作成方法や、インストール方法についての説明は、割愛します。

Plack::Middleware をロードするプラグイン

プラグインから Plack::Middleware を追加するには、プラグインの config.yaml などで、レジストリの plack_middlewares に Plack::Middleware の情報を登録します。指定可能な項目は、以下の通りです。

name (必須)

Plack::Middleware のパッケージ名を配列で指定します。パッケージ名は、Plack::Middleware:: 以降を指定します。

options (オプション)

Plack::Middlware に渡すオプションがある場合は、オプションのキーと値やハンドラーなどのペアを配列で指定します。キーに対応する値の指定は、4つの指定の仕方があり、いずれか1つの方法でキーとペアにする必要があります。

key

ロードする Plack::Middleware で用意されているオプションの名前を指定します。

value

値を直接文字で指定します。

code

Perl のサブルーチンを記述します。

handler

Perl の実行コードへのハンドラーを指定します。

condition (オプション)

Plack::Middleware の実行を制御するコンディションを Perl のサブルーチンや、コードへのハンドラーを指定できます。 0 を返すと、その Plack::Middleware をロードしません。

apply_to (オプション)

Plack::Middleware を適用する Movable Type アプリケーションを指定します。指定できる Movable Type アプリケーションは、レジストリの applications に登録されている各アプリケーションのキー名です。
(例: cms, tb, comments, new_search など)

apply_to の指定が無い場合や、allを指定した場合には、全ての Movable Type アプリケーションに対して Plack::Middleware を適用します。

Example

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
Clone this wiki locally