Перейти до вмісту

Режим сервера

Restorm уміє не лише викликати сервер, а й розміщувати його. Ви задаєте маршрут і його відповідь, запускаєте прослуховування, а потім спрямовуєте на нього клієнта — зазвичай код вашого застосунку, — щоб перевірити, як він споживає службу.

Це саме те, що потрібно, коли справжньої служби ще не існує, коли складно змусити її видати цікаву вам відповідь (помилку 503, помилку SOAP, конкретний статус gRPC) або коли вам потрібен незмінний набір даних для відтворюваного тесту.

Принцип простий, і саме це робить його приємним: те, що ви налаштували на сервері, і є відповіддю, яку він видає. Статус, заголовки й тіло, які ви ввели, — це рівно те, що отримає той, хто викликає.

Елемент «Сервер HTTP» під час прослуховування: кнопка прослуховування стала червоною (активна), стан «Слухає — обслужено 3 запит(и)» і смуга «Конфігурацію заблоковано, поки сервер працює»

Підтримувані протоколи

Section titled “Підтримувані протоколи”
СерверСторінка
HTTPІмітація API HTTP
GraphQLІмітація API GraphQL
gRPCІмітація служби gRPC
SOAPІмітація служби SOAP
WebSocket, Socket.IO, MQTTІмітація WebSocket, Socket.IO та MQTT
ODataІмітація служби OData

Клацніть правою кнопкою на теці ▸ Додати ▸, а потім потрібний пункт. Меню пропонує вісім серверів, кожен з яких є окремим типом елемента:

Сервер HTTP · Сервер GraphQL · Сервер gRPC · Сервер SOAP · Сервер WebSocket · Сервер Socket.IO · Сервер MQTT · Сервер OData

Створений елемент має в дереві значок SRV. Для сервера HTTP початкові значення такі: GET, localhost:8080/, статус 200.

У панелі кнопку надсилання замінено перемикачем Listen ↔ Stop. Панель відповіді показує стан наживо: Not listening або Listening — N request(s) served.

Хост зафіксовано як localhost: редагувати можна лише порт і шлях. Сервер симуляції не призначений для виставляння в мережу.

Сервер зупиняється кнопкою Stop, закриттям файлу або виходом із застосунку.

Спільне використання порту

Section titled “Спільне використання порту”

Restorm відкриває лише один сокет на порт і маршрутизує залежно від природи вхідного виклику: звичайні запити — до маршрутів HTTP, запити на перемикання — до WebSocket чи Socket.IO.

На практиці: сервер симуляції HTTP і сервер Socket.IO можуть слухати разом на :8080. Порт звільняється лише тоді, коли зупиняється його останній маршрут.

Змінні обчислюються на льоту

Section titled “Змінні обчислюються на льоту”

Заголовки й тіло, які видаються, обчислюються в момент відповіді, а не під час запуску: зміна змінної середовища, поки сервер слухає, змінює наступну відповідь. Див. Змінні та середовища.

Дії Слухати … / Закрити … розміщують сервер на час сценарію, а вихід served видає одну подію на кожен вхідний виклик. Саме це дає змогу перевірити webhook від початку до кінця в одному графі. Див. Розміщені сервери.

Порівняння з хмарними серверами симуляції

Section titled “Порівняння з хмарними серверами симуляції”
RestormХмарні сервери (на кшталт Postman Mock Servers)
Де це працюєНа вашій машиніУ постачальника
ЗатримкаЖодних мережевих подорожейОдна подорож через Інтернет
Працює офлайн
Джерело відповідіСам запит, придатний до редагуванняЗбережений приклад
Шаблони {{ }}✔, обчислюються на кожен викликОбмежені
Спільне використання портуНе стосується
КонфіденційністьНічого не полишає машинуДані проходять через службу