モックレスポンス
ChuteはマッチしたHTTP/HTTPSリクエストに対してモックデータを返すことができます。復号されたHTTP/2ストリームの場合、モックレスポンスはリクエストを転送せずにローカルで応答されます。HTTP/1.1リクエスト(プレーンなプロキシおよびMitM HTTP/1.1)の場合、リクエストは引き続き実際のサーバーに送信され、実際のレスポンスがクライアントに届く前にモックデータに置き換えられます。これはテスト、開発、またはカスタムレスポンスで不要なコンテンツをブロックするのに役立ちます。
モックルールは[Map Local]セクションで定義されます。
1つのリクエストに適用されるモックルールは1つだけです — URLパターンにマッチした最初のルールが使用されます。
Map Local形式
ローカルファイルから、またはbase64エンコードされたコンテンツでモックレスポンスを提供する場合:
[Map Local]
^https://example\.com/api.* data="/path/to/mock-response.json"
^https://example\.com/page.* data="/path/to/page.html" header="SGVhZGVyOiBWYWx1ZQ=="
^https://example\.com/pixel.* base64="R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7"
注意: URL正規表現は、リクエストURLの一部分ではなく、完全なリクエストURLにマッチする必要があります。任意のパスとクエリ文字列を持つURLにマッチするよう、パターンは通常
.*で終わるようにしてください。
Map Localパラメータ
| パラメータ | 説明 |
|---|---|
data="/path/to/file" |
レスポンスボディとして提供するファイルパス。ファイルはリクエスト時に読み取られます。 |
base64="<encoded>" |
Base64エンコードされたレスポンスボディコンテンツ。 |
header="<base64>" |
Base64エンコードされたカスタムレスポンスヘッダー(Key:Value\n形式)。 |
data=またはbase64=の少なくとも1つを指定する必要があります。注意:
header=の解析時には全ての空白が取り除かれ、各行はコロンを1つだけ含むKey:Valueの形式でなければなりません。値自体にコロンを含むヘッダー値(URLなど)は黙って破棄され、値の中のスペースは失われます。
テンプレート変数
data=またはbase64=を使用する場合、レスポンスボディはテンプレート変数の置換をサポートします:
| 変数 | 置換後 |
|---|---|
{{url}} |
完全なリクエストURLパス |
{{host}} |
リクエストホスト名 |
{{path}} |
相対URLパス |
{{method}} |
HTTPメソッド |
{{ua}} |
User-Agentヘッダー値 |
モックレスポンスファイルの例(response.json):
{
"requested_url": "{{ "{{url}}" }}",
"host": "{{ "{{host}}" }}",
"method": "{{ "{{method}}" }}"
}
注意: HTTPSリクエストの場合、マッチするホスト名に対してMitM復号が有効になっている必要があります。MitMなしのHTTPSトラフィックに対するモックルールは無視されます。
本ページは英語版からの翻訳です。内容に相違がある場合は、英語版が優先されます。