Почему Resterm — это не просто еще один curl
Resterm v1.0 позиционирует себя как полноценная замена Postman и Insomnia для разработчиков, предпочитающих терминал. Ключевое отличие — полная автономность: все запросы хранятся в обычных .http файлах, которые можно версионировать через Git, сравнивать через diff и запускать в CI/CD. Никаких аккаунтов, телеметрии или облачных зависимостей.
Интерфейс построен на принципах Vim: навигация через Tab, переключение панелей через g+r (запросы), g+i (редактор), g+p (ответ). Это позволяет управлять сложными API-тестами, не отрывая рук от клавиатуры.
Технические возможности и протоколы
Клиент поддерживает работу с широким спектром протоколов «из коробки»: REST, GraphQL, gRPC, WebSocket и SSE (Server-Sent Events). Особое внимание уделено автоматизации тестирования через встроенный язык RestermScript.
| Функция | Реализация в Resterm | Пример использования |
|---|---|---|
| Условная логика | Директивы @when, @if, @for-each |
Циклический обход массивов данных в теле запроса |
| Мульти-шаговые сценарии | Блоки @workflow и @step |
Автоматизация цепочки: логин → создание ресурса → проверка |
| Валидация | Директивы @capture, @var, @assert |
Извлечение токена из ответа и проверка его в следующем запросе |
| Мокирование | Встроенный Mock Server | Имитация ответов бэкенда с задержками и рандомизацией |
Встроенное мокирование и Headless API
Resterm позволяет объявлять mock-серверы прямо рядом с файлами запросов. Вы можете задавать правила матчинга по query-параметрам, заголовкам или JSON-телу, а также настраивать последовательности ответов (например, эмуляция polling-запросов с увеличивающейся задержкой).
Для интеграции в CI/CD предусмотрен CLI-режим (resterm run) и Headless Go API. Это позволяет запускать тесты, сравнивать профили запросов и проверять ассерты программно, получая вывод в форматах JSON или JUnit.
Безопасность и установка
Поддерживаются OAuth 2.0 (включая PKCE), аутентификация через внешние CLI-инструменты, SSH-туннели и Kubernetes port-forward. Важно отметить: Resterm сознательно не интегрирует AI, сохраняя фокус на детерминированности и скорости.
Установка доступна через Homebrew, скрипты для Linux/macOS/Windows или из исходников на Go:
- macOS/Linux:
brew install resterm - Windows:
iwr useb https://raw.githubusercontent.com/unkn0wn-root/resterm/main/install.ps1 | iex - Из исходников:
go install github.com/unkn0wn-root/resterm/cmd/resterm@latest
Проект открыт на GitHub, последняя версия — 1.0.0, что标志着 переход от экспериментальной стадии к стабильному продукту для production-разработки.
Источник: Github ↗
