Перейти к содержимому

Приложение

Приложение работает с теми же файлами, что и CLI. Оно ничего не импортирует и не хранит коллекцию у себя — оно открывает папку вашего проекта.

Нажмите Open project и выберите репозиторий (или папку api/). Outry находит env.toml так же, как CLI. Если в папке нет env.toml, приложение предложит создать api/env.toml с примером окружений.

Последний проект запоминается и открывается при запуске.

  • Слева — все .outry- и .http-файлы проекта; + рядом с Requests создаёт новый (users/create превратится в users/create.outry; допишите .http для старого формата). Файл только со сценариями помечен FLOW.
  • Правый клик по запросу или папке — открыть, дублировать, переименовать или удалить. Rename / Move… принимает путь, так что users/create → admin/users/create переносит файл в другую папку. При удалении папки удаляются только файлы запросов в ней, остальные остаются.
  • Редактор подсвечивает синтаксис и проверяет файл на лету, как outry check: неверное имя вызываемого запроса, неизвестный аргумент или форма подчёркнуты, текст ошибки — под редактором.
  • В .outry редактор подсказывает поля в начале строки, имена запросов и сценариев проекта (с параметрами), встроенные функции, переменные текущего окружения, а после . — методы вроде .contains(); после matches — типы и формы.
  • В .http после {{ редактор предлагает переменные (из env.toml, > save, списка secrets и динамические), а в строках > — директивы, пути и операторы.
  • Переключатель под именем проекта выбирает окружение из env.toml.
  • Add secret внизу слева сохраняет значение в системное хранилище паролей для текущего окружения.
Клавиши Действие
Ctrl/⌘ + Enter Отправить запрос; в .outry — запустить запрос или сценарий под курсором
Ctrl/⌘ + S Сохранить файл
Ctrl + Space Показать подсказки
Ctrl/⌘ + F Поиск по файлу

Отправляется текущий текст редактора, даже если он ещё не сохранён, — удобно для быстрых экспериментов.

В файле .outry может быть несколько запросов и сценариев. Run (или Ctrl + Enter) запускает тот, на котором стоит курсор; ▶ рядом со строкой запроса или flow запускает именно его.

Запросы, которые вызывает запущенный (Login() в заголовке), отправляются один раз и дальше переиспользуются, как в outry run; cookies хранятся так же. Этот прогон длится, пока вы не смените окружение или не нажмёте New run на вкладке Variables. Запрос с confirm: true спрашивает перед отправкой.

У ответа запроса есть вкладка trace — какие запросы он вызвал, их статус, время и взят ли ответ из кеша. Сценарий показывает свои проверки, шаг, на котором остановился, сохранённые значения и тот же trace.

Пока запрос в пути, кнопка Send превращается в Cancel. Тем временем можно переключиться на другой запрос и отправить его: запросы идут параллельно, у каждого файла — свой последний ответ.

Пункт env.toml под переключателем окружений открывает env.toml проекта в редакторе. Приложение проверяет TOML на лету и не сохранит файл с ошибкой. После сохранения новые окружения появятся в переключателе, а новые значения подставятся в следующий запрос. Токены и пароли сюда не пишите — для них есть Add secret.

У правой панели четыре вкладки: Response, History, Variables и Routes. У самого ответа такие виды:

  • body — отформатированный и подсвеченный JSON, HTML или XML; кнопка поиска (или Ctrl/⌘ + F внутри тела) ищет по нему;
  • preview — для картинок и HTML-страниц; HTML показывается без выполнения скриптов;
  • headers — заголовки ответа;
  • tests — результат каждой проверки (expect, > assert) и save, у упавшей — причина;
  • trace — только .outry: вызванные запросы;
  • request — запрос ровно в том виде, в каком ушёл, после подстановки переменных.

Кнопка со стрелкой сохраняет тело в файл байт в байт.

History — последние 100 ответов проекта: для открытого запроса или для всех. Клик открывает ответ снова. История живёт в памяти до закрытия приложения; включите Keep response history on disk в меню (☰ в шапке окна), чтобы она сохранялась между запусками. Она хранится вне репозитория, рядом с сохранёнными значениями, а в ответах бывают токены — Clear её удаляет.

Variables показывает все переменные выбранного окружения, итоговое значение и откуда оно взялось — env.toml, saved, OUTRY_* или keychain, — как outry vars. Секреты замаскированы. Секреты из списка secrets, которые нигде не заданы, помечены missing — рядом кнопка, чтобы добавить. Clear saved забывает значения из save в этом окружении; New run забывает ответы вызванных запросов и cookies прогонов .outry.

Routes сравнивает роуты Go-сервиса с запросами проекта, как outry import go: новые роуты, роуты, для которых запрос уже есть, и запросы, чьего роута больше нет в коде. Create files создаёт запросы .outry для новых и shape для новых типов ответов. У запроса, который разошёлся с обработчиком, — бейдж changed и список расхождений: Diff показывает, что поменяет правка, Apply её применяет, Fix N в панели применяет все, а Remove N files удаляет файлы, все роуты которых пропали. Кнопка синхронизации рядом с Requests открывает вкладку и сканирует заново. По умолчанию Go-код ищется в папке над api/; нажмите на путь, чтобы выбрать другую.

Правьте файлы в VS Code, переключайте ветки, делайте pull — список файлов и открытый запрос обновятся сразу. Если в приложении есть несохранённые правки, открытый файл не перезаписывается.

При запуске приложение проверяет новую версию. Если она есть, кнопка в боковой панели скачивает её, устанавливает и перезапускает приложение. Обновления подписаны и проверяются перед установкой.

В меню (☰ в шапке окна) есть Check for updates и Install updates automatically: со вторым новая версия скачивается и ставится в фоне и начинает работать после следующего перезапуска.