diff options
author | Nayeem Rahman <nayeemrmn99@gmail.com> | 2020-05-09 13:34:47 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-05-09 08:34:47 -0400 |
commit | f184332c09c851faac50f598d29ebe4426e05464 (patch) | |
tree | 2659aba63702537fcde1bb64ddeafea1e5863f3e /std/ws/example_client.ts | |
parent | 2b02535028f868ea8dfc471c4921a237747ccd4a (diff) |
BREAKING(std): reorganization (#5087)
* Prepend underscores to private modules
* Remove collectUint8Arrays() It would be a misuse of Deno.iter()'s result.
* Move std/_util/async.ts to std/async
* Move std/util/sha*.ts to std/hash
Diffstat (limited to 'std/ws/example_client.ts')
-rw-r--r-- | std/ws/example_client.ts | 84 |
1 files changed, 43 insertions, 41 deletions
diff --git a/std/ws/example_client.ts b/std/ws/example_client.ts index 4213025f4..93f2f5c7b 100644 --- a/std/ws/example_client.ts +++ b/std/ws/example_client.ts @@ -3,57 +3,59 @@ import { isWebSocketCloseEvent, isWebSocketPingEvent, isWebSocketPongEvent, -} from "../ws/mod.ts"; +} from "./mod.ts"; import { encode } from "../encoding/utf8.ts"; import { BufReader } from "../io/bufio.ts"; import { TextProtoReader } from "../textproto/mod.ts"; import { blue, green, red, yellow } from "../fmt/colors.ts"; -const endpoint = Deno.args[0] || "ws://127.0.0.1:8080"; -/** simple websocket cli */ -try { - const sock = await connectWebSocket(endpoint); - console.log(green("ws connected! (type 'close' to quit)")); +if (import.meta.main) { + const endpoint = Deno.args[0] || "ws://127.0.0.1:8080"; + /** simple websocket cli */ + try { + const sock = await connectWebSocket(endpoint); + console.log(green("ws connected! (type 'close' to quit)")); - const messages = async (): Promise<void> => { - for await (const msg of sock) { - if (typeof msg === "string") { - console.log(yellow(`< ${msg}`)); - } else if (isWebSocketPingEvent(msg)) { - console.log(blue("< ping")); - } else if (isWebSocketPongEvent(msg)) { - console.log(blue("< pong")); - } else if (isWebSocketCloseEvent(msg)) { - console.log(red(`closed: code=${msg.code}, reason=${msg.reason}`)); + const messages = async (): Promise<void> => { + for await (const msg of sock) { + if (typeof msg === "string") { + console.log(yellow(`< ${msg}`)); + } else if (isWebSocketPingEvent(msg)) { + console.log(blue("< ping")); + } else if (isWebSocketPongEvent(msg)) { + console.log(blue("< pong")); + } else if (isWebSocketCloseEvent(msg)) { + console.log(red(`closed: code=${msg.code}, reason=${msg.reason}`)); + } } - } - }; + }; - const cli = async (): Promise<void> => { - const tpr = new TextProtoReader(new BufReader(Deno.stdin)); - while (true) { - await Deno.stdout.write(encode("> ")); - const line = await tpr.readLine(); - if (line === null) { - break; - } - if (line === "close") { - break; - } else if (line === "ping") { - await sock.ping(); - } else { - await sock.send(line); + const cli = async (): Promise<void> => { + const tpr = new TextProtoReader(new BufReader(Deno.stdin)); + while (true) { + await Deno.stdout.write(encode("> ")); + const line = await tpr.readLine(); + if (line === null) { + break; + } + if (line === "close") { + break; + } else if (line === "ping") { + await sock.ping(); + } else { + await sock.send(line); + } } - } - }; + }; - await Promise.race([messages(), cli()]).catch(console.error); + await Promise.race([messages(), cli()]).catch(console.error); - if (!sock.isClosed) { - await sock.close(1000).catch(console.error); + if (!sock.isClosed) { + await sock.close(1000).catch(console.error); + } + } catch (err) { + console.error(red(`Could not connect to WebSocket: '${err}'`)); } -} catch (err) { - console.error(red(`Could not connect to WebSocket: '${err}'`)); -} -Deno.exit(0); + Deno.exit(0); +} |