Имитация ответов
Chute может возвращать имитированные данные для совпадающих HTTP/HTTPS-запросов, не обращаясь к реальному серверу. Это полезно для тестирования, разработки или блокировки нежелательного контента с пользовательским ответом.
Правила имитации определяются в разделе [Map Local].
К одному запросу применяется только одно правило имитации — первое правило с совпадающим шаблоном 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"
Параметры Map Local
| Параметр | Описание |
|---|---|
data="/path/to/file" |
Путь к файлу для отправки в качестве тела ответа. Файл читается в момент запроса. |
base64="<encoded>" |
Содержимое тела ответа в кодировке base64. |
header="<base64>" |
Пользовательские заголовки ответа в кодировке base64 (формат Key: Value\n). |
Должен быть указан хотя бы один из параметров:
data=илиbase64=.
Переменные шаблона
При использовании data= или base64= тело ответа поддерживает подстановку переменных шаблона:
| Переменная | Заменяется на |
|---|---|
{{url}} |
Полный путь URL запроса |
{{host}} |
Имя хоста запроса |
{{path}} |
Относительный путь URL |
{{method}} |
HTTP-метод |
{{ua}} |
Значение заголовка User-Agent |
Пример файла имитированного ответа (response.json):
{
"requested_url": "{{ "{{url}}" }}",
"host": "{{ "{{host}}" }}",
"method": "{{ "{{method}}" }}"
}
Примечание: Для HTTPS-запросов должна быть включена расшифровка MitM для соответствующего имени хоста. Правила имитации для HTTPS-трафика без MitM будут проигнорированы.