aboutsummaryrefslogtreecommitdiff
path: root/v_windows/v/vlib/net/websocket/tests/autobahn/local_run/autobahn_client.v
diff options
context:
space:
mode:
Diffstat (limited to 'v_windows/v/vlib/net/websocket/tests/autobahn/local_run/autobahn_client.v')
-rw-r--r--v_windows/v/vlib/net/websocket/tests/autobahn/local_run/autobahn_client.v33
1 files changed, 33 insertions, 0 deletions
diff --git a/v_windows/v/vlib/net/websocket/tests/autobahn/local_run/autobahn_client.v b/v_windows/v/vlib/net/websocket/tests/autobahn/local_run/autobahn_client.v
new file mode 100644
index 0000000..ef5b281
--- /dev/null
+++ b/v_windows/v/vlib/net/websocket/tests/autobahn/local_run/autobahn_client.v
@@ -0,0 +1,33 @@
+// use this test to test the websocket client in the autobahn test
+module main
+
+import net.websocket
+
+fn main() {
+ for i in 1 .. 304 {
+ println('\ncase: $i')
+ handle_case(i) or { println('error should be ok: $err') }
+ }
+ // update the reports
+ uri := 'ws://localhost:9001/updateReports?agent=v-client'
+ mut ws := websocket.new_client(uri) ?
+ ws.connect() ?
+ ws.listen() ?
+}
+
+fn handle_case(case_nr int) ? {
+ uri := 'ws://localhost:9001/runCase?case=$case_nr&agent=v-client'
+ mut ws := websocket.new_client(uri) ?
+ ws.on_message(on_message)
+ ws.connect() ?
+ ws.listen() ?
+}
+
+fn on_message(mut ws websocket.Client, msg &websocket.Message) ? {
+ // autobahn tests expects to send same message back
+ if msg.opcode == .pong {
+ // We just wanna pass text and binary message back to autobahn
+ return
+ }
+ ws.write(msg.payload, msg.opcode) or { panic(err) }
+}