1
0
Fork 0
mirror of https://github.com/denoland/deno.git synced 2024-11-13 16:26:08 -05:00
denoland-deno/tools/node_tcp_promise.js
Ryan Dahl b8a537d020
deno_core (#1827)
A new low-level crate with focus on speed. 
This doesn't yet hook into the existing code base.
2019-02-26 17:36:05 -05:00

25 lines
621 B
JavaScript

// 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);