Брейкпоинты
Брейкпоинт останавливает запрос при проходе через прокси. Приостановленный запрос можно отредактировать и отправить дальше или сбросить; приостановленный ответ — переписать до того, как его увидит клиент.
Правила брейкпоинтов и очередь приостановленных сейчас запросов открываются в отдельных окнах из меню Инструменты (Cmd/Ctrl + Shift + B открывает очередь). Правило можно создать и из перехваченного запроса — тогда оно заполняется автоматически.
Правила
Правило решает, что именно приостанавливать. Оно сопоставляется с полным URL по шаблону wildcard или регулярному выражению — синтаксис тот же, что у локальной подмены — и может ограничиваться конкретными методами, включая CONNECT. Приостановка возможна на запросе, на ответе или на обоих:
- на запросе — до отправки на сервер, то есть исходящий запрос можно изменить;
- на ответе — после ответа сервера, но до передачи клиенту.
Правило начинает действовать на новый трафик сразу после сохранения, а выключить его можно не удаляя.
Очередь
Каждый приостановленный запрос ждёт вашего решения и показывает, сколько времени он уже ждёт.
В это время в запросе можно изменить метод, заголовки и тело, а в ответе — код статуса, заголовки и тело. Дальше запрос либо пропускается — вместе с правками, — либо сбрасывается. Всю очередь можно пропустить или сбросить одним действием.
Одновременно можно удерживать до 50 запросов. Дальше новые совпадающие запросы проходят без приостановки.
Если клиент отключился
Клиент может отключиться, пока запрос ждёт — по таймауту, из-за перезагрузки страницы или закрытой вкладки. Запрос остаётся в очереди с пометкой об отключении, и перехваченные данные можно посмотреть. Его также можно всё равно отправить на сервер: ответ тогда прикрепляется к запросу и виден в инспекторе. Чтобы это происходило без вопросов, включите автоматическую отправку в Настройки → Прокси.
Отключённые записи можно убрать из очереди.
Поведение
- Правило локальной подмены применяется раньше брейкпоинтов, поэтому URL, у которого есть и то и другое, будет подменён и не приостановится.
- Хосты из списка исключений не приостанавливаются — они туннелируются без чтения.
- Приостановленный запрос держит открытым реальное соединение клиента, поэтому длинная пауза может упереться в таймаут самого клиента.
- При выходе из приложения с приостановленными запросами сначала запрашивается подтверждение, после чего они отправляются дальше — ни один клиент не останется висеть.
Правила брейкпоинтов хранятся в той же зашифрованной локальной базе, что и правила локальной подмены.