Блоки вместо ключевых слов
У классического .http очень маленький синтаксис: комментарии, разделители ###, запрос, тело. Всё остальное — комментарии и переменные.
Если начать добавлять новые директивы (where, foreach, retry, parallel, merge), формат постепенно перестанет быть .http. А вот если использовать блоки — синтаксис вообще не меняется.
Блок = узел
### Filter
$.active
### Retry
3
### Parallel
10
Для обычного HTTP-клиента это просто ещё один раздел. Для исполнителя — специальный узел.
Filter — такой же узел, как HTTP
### Users
GET /users
### Filter
$.active
### Orders
GET /orders/{{ $item.id }}
Получается дерево:
Users
│
Filter
│
Orders
Filter — не специальный оператор языка, а такой же узел, как HTTP. Никаких новых конструкций. Сильная сторона подхода — он не нарушает стройность формата исходного .http-файла: управляющие конструкции завязываются на названия блоков, а не на новые ключевые слова.
Источники
- Обсуждение концепции httplan — диалог с ChatGPT (2026-07-08), chatgpt.com/share/6a4e7804-ce90-83ed-acd0-0def6540872d