Skip to content

Match&Response Rule

Kazuaki Morihisa edited this page Aug 17, 2018 · 1 revision

マッチ&レスポンスルール

マッチ&レスポンス機能で使うマッチ&レスポンスルール(以下、ルール)は、要求内容とルールで指定した条件が一致するかどうかを確認し、一致した場合は応答内容をルールで指定したものに変えるものです。ルールは XML 形式で記述します。
mrrs タグにすべての mrr タグが含まれます。1つの mrr タグが1つのルールを意味し、meta タグ、trigger タグ、response タグを必ず含める必要があります。

meta タグ

mrrid

必須のタグで、1つだけ定義できます。

  • 1000以上、65535以下の範囲の整数値を指定します。
  • 1000-9999 は morihi-soc 公式ルールで使用します。
  • 10000-20000 自由(ローカルルールで使用することを推奨)
  • 20001-65535 自由 mrrid の大きなものから順番にマッチング処理をします。trigger タグに一致した場合は、その mrrid 以降のマッチング処理をおこないません。

enable

必須のタグで、1 つだけ定義できます。mrr のマッチング可否を boolean で指定します。True はマッチング可能、False はマッチング除外 (ルールの無効化と同義) をします。

note

必須ではありません。1 つだけ定義できます。mrr について説明文を書くことができます。

trigger タグ

trigger タグでは、method タグ、uri タグ、header タグ、body タグのどれかを最低1つは定義しなければなりません。また各タグで指定した文字列は、正規表現でマッチングをします。

method

原則必須ではありません。HTTP のリクエストメソッドを指定します。

uri

原則必須ではありません。URI(パス、ファイル名およびクエリパラメータのすべて)がマッチング対象です。

header

原則必須ではありません。HTTP のヘッダがマッチング対象です。

body

原則必須ではありません。HTTP のボディがマッチング対象です。GET メソッドや HEAD メソッドであっても、ボディが含まれている場合はマッチングの評価がされます。

response タグ

status

必須ではありません。指定がない場合は"200"(デフォルト値) が返されます。3桁の数値で指定する必要があります。

header

必須ではありません。指定する場合は、name タグと value タグを設定する必要があります。

  • name タグは、ヘッダ名を定義します。
  • value タグは、ヘッダに対応する値を定義します。 たとえば、name タグに Test と定義し、value に 12345 と定義します。ルールに一致した際は HTTP ヘッダに「Test: 12345」という形で応答します。

body

必須のタグで、1 つだけ定義できます。

  • CDATA またはファイルを指定します。CDATA の場合は の間に、ファイルを読み込む場合は body タグの filename 属性にファイル名を指定してください。読み込むファイルは art ディレクトリ直下に保存してください。なお読み込むファイルはテキスト形式に限ります。
  • CDATA とファイルのどちらも、ルールを定義した XML ファイルを読み込んだ時点でメモリに展開されます。
Clone this wiki locally