Initial Dever 0.0.1
This commit is contained in:
commit
81233d098c
1479 files changed
+163782
No files matched your search
@@ -0,0 +1,64 @@
|
||||
echo(event: dever.websocket.MessageEvent.Read(message), socket: dever.system.WebSocket) () {
|
||||
dever.websocket.send(socket, message)
|
||||
}
|
||||
|
||||
echo(event: dever.websocket.MessageEvent.Failed(message), socket: dever.system.WebSocket) () {
|
||||
fail(dever.websocket.MessageEvent.Failed(message))
|
||||
}
|
||||
|
||||
route(request: dever.http.Request, reply: dever.system.HttpReply) () {
|
||||
socket = dever.websocket.accept(reply, dever.websocket.defaultLimits())
|
||||
each(echo, dever.websocket.messages(socket), socket)
|
||||
}
|
||||
|
||||
serve(listener: dever.system.Listener) () {
|
||||
dever.http.serveLive(route, listener, dever.http.defaultLimits(), dever.http.defaultLiveLimits())
|
||||
}
|
||||
|
||||
received(state: dever.websocket.ReceiveState.Read(message)) (answer: Bool) {
|
||||
answer = message == dever.websocket.Message.Text("你好")
|
||||
}
|
||||
|
||||
received(state: dever.websocket.ReceiveState.End) (answer: Bool) {
|
||||
answer = false
|
||||
}
|
||||
|
||||
verify() (answer: Bool) {
|
||||
listener = dever.net.listen("127.0.0.1", 0)
|
||||
server = run(serve(listener))
|
||||
socket = dever.websocket.connect("127.0.0.1", dever.net.port(listener), "/echo", dever.websocket.defaultLimits())
|
||||
dever.websocket.send(socket, dever.websocket.Message.Text("你好"))
|
||||
answer = received(dever.websocket.receive(socket))
|
||||
dever.net.closeListener(listener)
|
||||
dever.websocket.close(socket, 1000, "结束")
|
||||
wait(server)
|
||||
}
|
||||
|
||||
opened() (answer: Bool) {
|
||||
listener = dever.net.listen("127.0.0.1", 0)
|
||||
server = run(serve(listener))
|
||||
url = "ws://127.0.0.1:" + int.toText(dever.net.port(listener)) + "/echo"
|
||||
socket = dever.websocket.open(url, dever.tls.system(), dever.websocket.defaultLimits())
|
||||
dever.websocket.send(socket, dever.websocket.Message.Text("你好"))
|
||||
answer = received(dever.websocket.receive(socket))
|
||||
dever.websocket.close(socket, 1000, "")
|
||||
dever.net.closeListener(listener)
|
||||
wait(server)
|
||||
}
|
||||
|
||||
invalid() () {
|
||||
socket = dever.websocket.connect("hostname", 80, "/", dever.websocket.defaultLimits())
|
||||
dever.websocket.close(socket, 1000, "")
|
||||
}
|
||||
|
||||
sendText(socket: dever.system.WebSocket, text: Text) () {
|
||||
dever.websocket.send(socket, dever.websocket.Message.Text(text))
|
||||
}
|
||||
|
||||
sendBinary(socket: dever.system.WebSocket, data: Bytes) () {
|
||||
dever.websocket.send(socket, dever.websocket.Message.Binary(data))
|
||||
}
|
||||
|
||||
sendMessage(socket: dever.system.WebSocket, message: dever.websocket.Message) () {
|
||||
dever.websocket.send(socket, message)
|
||||
}
|
||||
Reference in new issue
Block a user