diff --git a/tests/net/socket/wss-rw.luau b/tests/net/socket/wss-rw.luau new file mode 100644 index 0000000..828f21b --- /dev/null +++ b/tests/net/socket/wss-rw.luau @@ -0,0 +1,26 @@ +local net = require("@lune/net") +local process = require("@lune/process") +local task = require("@lune/task") + +-- We're going to use Discord's WebSocket gateway server +-- for testing that we can both read from a stream, +-- as well as write to the same stream concurrently +local socket = net.socket("wss://gateway.discord.gg/?v=10&encoding=json") + +task.spawn(function() + while not socket.closeCode do + socket.next() + end +end) + +task.delay(1, function() + socket.send('{"op":1,"d":null}') + socket.close(1000) + + process.exit(1) +end) + +task.wait(5) + +task.defer(process.exit, 1) +error("`socket.send` halted, failed to write to socket")