2020-12-08 15:39:11 +05:30
|
|
|
import ws, chronos, chronicles, httputils
|
|
|
|
|
|
|
|
proc cb(transp: StreamTransport, header: HttpRequestHeader) {.async.} =
|
2020-12-08 18:19:22 +05:30
|
|
|
info "Header: ", uri = header.uri()
|
|
|
|
if header.uri() == "/ws":
|
|
|
|
info "Initiating web socket connection."
|
|
|
|
try:
|
|
|
|
var ws = await newWebSocket(header, transp)
|
|
|
|
info "Websocket handshake completed."
|
|
|
|
except WebSocketError:
|
|
|
|
echo "socket closed:", getCurrentExceptionMsg()
|
|
|
|
|
2020-12-08 15:39:11 +05:30
|
|
|
let res = await transp.sendHTTPResponse(HttpVersion11, Http200, "Hello World")
|
2020-12-01 18:13:59 +05:30
|
|
|
|
2020-12-08 01:17:45 +05:30
|
|
|
when isMainModule:
|
|
|
|
let address = "127.0.0.1:8888"
|
2020-12-08 15:39:11 +05:30
|
|
|
var httpServer = newHttpServer(address, cb)
|
|
|
|
httpServer.start()
|
|
|
|
waitFor httpServer.join()
|