Máy chủ được lưu trữ
Những hành động này làm điều ngược lại với các hành động khác: thay vì gọi một dịch vụ, chúng lưu trữ một dịch vụ trong suốt thời gian chạy kịch bản.
Trường hợp sử dụng điển hình: kiểm thử một webhook. Kịch bản mở một máy chủ, kích hoạt lời gọi nghiệp vụ, chờ cho lời gọi đi vào tới nơi, rồi kiểm tra nội dung của nó — tất cả trong một đồ thị duy nhất.
Mô hình chung
Section titled “Mô hình chung”Một hành động lắng nghe có hai đầu ra:
| Đầu ra | Lúc phát ra |
|---|---|
connected | Một tín hiệu, một lần, khi máy chủ đang lắng nghe |
served | Một lần phát cho mỗi lời gọi đi vào được phục vụ, mang theo { request, response } |
Hãy lưu ý rằng không có đầu ra response: những chiếc hộp này không gọi
đi, chúng nhận vào.
Cũng như với các kết nối, hãy bật “Chạy lại ở mỗi sự kiện nhận được” trên
những chiếc hộp đấu vào served để xử lý mọi lời gọi chứ không chỉ lời gọi đầu
tiên.
Máy chủ HTTP ──connected──► Yêu cầu HTTP « kích hoạt webhook » └────────served──────► Assert trên request.body.event rồi ──► Đóng máy chủ HTTPCác cặp hiện có
Section titled “Các cặp hiện có”| Lắng nghe | Đóng | Giao thức |
|---|---|---|
| Máy chủ HTTP | Đóng máy chủ HTTP | HTTP |
| Máy chủ gRPC | Đóng máy chủ gRPC | gRPC |
| Máy chủ SOAP | Đóng máy chủ SOAP | SOAP — định tuyến theo SOAPAction hoặc theo tên thao tác |
| Máy chủ GraphQL | Đóng máy chủ GraphQL | GraphQL — phục vụ SDL và các resolver đã cấu hình |
| Máy chủ OData | Đóng máy chủ OData | OData — áp dụng $filter, $select, $orderby, $top, $skip, $count, $expand, $batch |
Hai hành động đóng bổ sung liên quan tới các máy chủ thuộc họ WebSocket: Đóng máy chủ WebSocket và Đóng máy chủ Socket.IO — xem Kết nối và luồng.
Máy chủ trả lời những gì
Section titled “Máy chủ trả lời những gì”Phản hồi chính là phản hồi đã được cấu hình trên yêu cầu mà hành động điều khiển: mã trạng thái, header và thân với HTTP, các phương thức giả lập với gRPC, các thao tác với SOAP, các resolver với GraphQL, dữ liệu với OData.
Các {{variables}} được giải quyết vào lúc phục vụ: sửa một biến trong lúc
máy chủ đang lắng nghe sẽ làm thay đổi phản hồi kế tiếp. Xem
Chế độ máy chủ.
Dùng chung cổng
Section titled “Dùng chung cổng”Restorm chỉ mở một socket duy nhất cho mỗi cổng và định tuyến theo bản chất
của lời gọi. Vì vậy một máy chủ HTTP giả lập và một máy chủ WebSocket có thể
cùng lắng nghe trên :8080.
Cổng được giải phóng khi tuyến cuối cùng của nó dừng lại.