local net = require("@lune/net") local serde = require("@lune/serde") local task = require("@lune/task") -- We're going to use Discord's WebSocket gateway server -- for testing wss - it does not require auth, and this test -- only exists to ensure wss (WebSockets with TLS) works correctly local socket = net.socket("wss://gateway.discord.gg/?v=10&encoding=json") while not socket.closeCode do local response = socket:next() if response then local decodeSuccess, decodeMessage = pcall(serde.decode, "json" :: "json", response) if not decodeSuccess then error( string.format( "Discord API did not respond with valid JSON!\n%s", tostring(decodeMessage) ) ) end -- Close the connection after a second with the success close code task.wait(1) socket:close(1000) end end