Lewati ke konten

Mode server

Restorm mampu menghosting sebuah server, bukan hanya memanggilnya. Anda mendefinisikan sebuah rute beserta responsnya, memulai pendengarannya, lalu mengarahkan sebuah klien ke sana — biasanya kode aplikasi Anda — untuk menguji cara klien itu mengonsumsi layanannya.

Inilah yang dibutuhkan ketika layanan sesungguhnya belum ada, ketika sulit membuatnya menghasilkan respons yang Anda inginkan (sebuah galat 503, sebuah fault SOAP, sebuah status gRPC tertentu), atau ketika Anda menginginkan himpunan data yang tetap untuk pengujian yang dapat direproduksi.

Prinsipnya sederhana dan itulah yang membuatnya menyenangkan: apa yang Anda konfigurasikan pada servernya adalah respons yang disajikan. Status, header, dan body yang Anda isikan persis itulah yang diterima pemanggilnya.

Sebuah elemen Server HTTP yang sedang mendengarkan: tombol dengarnya berubah merah (aktif), status “Mendengarkan — 3 permintaan dilayani”, dan spanduk “Konfigurasi terkunci selagi servernya berjalan”

ServerHalaman
HTTPMenyimulasikan API HTTP
GraphQLMenyimulasikan API GraphQL
gRPCMenyimulasikan layanan gRPC
SOAPMenyimulasikan layanan SOAP
WebSocket, Socket.IO, MQTTMenyimulasikan WebSocket, Socket.IO, dan MQTT
ODataMenyimulasikan layanan OData

Klik kanan pada sebuah folder ▸ Tambah ▸ lalu pilih entri yang diinginkan. Menunya menawarkan delapan server, masing-masing merupakan jenis elemen tersendiri:

Server HTTP · Server GraphQL · Server gRPC · Server SOAP · Server WebSocket · Server Socket.IO · Server MQTT · Server OData

Elemen yang dibuat membawa lencana SRV di dalam pohon. Untuk sebuah server HTTP, nilai awalnya adalah GET, localhost:8080/, status 200.

Di dalam panelnya, tombol kirim digantikan oleh sakelar Listen ↔ Stop. Panel responsnya menampilkan statusnya secara langsung: Not listening, atau Listening — N request(s) served.

Host-nya dikunci pada localhost: hanya port dan jalurnya yang dapat disunting. Sebuah server simulasi memang tidak dimaksudkan untuk diekspos ke jaringan.

Servernya berhenti lewat tombol Stop, lewat penutupan filenya, atau dengan menutup aplikasinya.

Restorm hanya membuka satu soket per port dan meruteknya menurut sifat panggilan yang masuk: permintaan biasa menuju rute HTTP, permintaan peralihan menuju WebSocket atau Socket.IO.

Secara konkret: sebuah server simulasi HTTP dan sebuah server Socket.IO dapat mendengarkan bersama-sama di :8080. Portnya baru dilepaskan ketika rute terakhir-nya dihentikan.

Header dan body yang disajikan diselesaikan pada saat penyajian, bukan saat memulai: mengubah sebuah variabel lingkungan selagi servernya mendengarkan akan mengubah respons berikutnya. Lihat Variabel dan lingkungan.

Aksi Server … / Tutup server … menghosting sebuah server selama skenarionya berlangsung, dengan sebuah keluaran served yang memancarkan satu peristiwa per panggilan masuk. Inilah yang memungkinkan pengujian sebuah webhook dari ujung ke ujung dalam satu graf. Lihat Server terhosting.

Perbandingan dengan server simulasi terhosting

Section titled “Perbandingan dengan server simulasi terhosting”
RestormServer terhosting (semacam Postman Mock Servers)
Tempat berjalannyaDi mesin AndaDi pihak penyedianya
LatensiTanpa perjalanan bolak-balik jaringanSatu perjalanan bolak-balik internet
Berfungsi tanpa koneksi
Sumber responsnyaPermintaannya sendiri, dapat disuntingSebuah contoh yang tersimpan
Templat {{ }}✔, diselesaikan pada setiap panggilanTerbatas
Berbagi portTidak berlaku
KerahasiaanTidak ada yang keluar dari mesinnyaDatanya melewati layanan tersebut