diff options
author | Ryan Dahl <ry@tinyclouds.org> | 2019-02-26 17:36:05 -0500 |
---|---|---|
committer | GitHub <noreply@github.com> | 2019-02-26 17:36:05 -0500 |
commit | b8a537d020f5e4495572daa4d8a59f51fa3b20d1 (patch) | |
tree | 468164b8dcc8ce0bcd64e75b63e4a3af0da36f15 /tools/node_tcp_promise.js | |
parent | 5dfbbbb07a8f484dca27bbe0d7a3bafb0bdb91fd (diff) |
deno_core (#1827)
A new low-level crate with focus on speed.
This doesn't yet hook into the existing code base.
Diffstat (limited to 'tools/node_tcp_promise.js')
-rw-r--r-- | tools/node_tcp_promise.js | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/tools/node_tcp_promise.js b/tools/node_tcp_promise.js new file mode 100644 index 000000000..c8fc54aba --- /dev/null +++ b/tools/node_tcp_promise.js @@ -0,0 +1,25 @@ +// Copyright 2018-2019 the Deno authors. All rights reserved. MIT license. +// Note: this is a keep-alive server. +const { Server } = require("net"); +const port = process.argv[2] || "4544"; +console.log("port", port); + +const response = Buffer.from( + "HTTP/1.1 200 OK\r\nContent-Length: 12\r\n\r\nHello World\n" +); + +async function write(socket, buffer) { + let p = new Promise((resolve, reject) => { + socket.write(buffer, resolve); + }); + return p; +} + +Server(async socket => { + socket.on("error", _ => { + socket.destroy(); + }); + for await (const data of socket) { + write(socket, response); + } +}).listen(port); |