Initial content
This commit is contained in:
@@ -0,0 +1,27 @@
|
||||
"use strict";
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
exports.Count = void 0;
|
||||
const worker_threads_1 = require("worker_threads");
|
||||
const Count = (request, iterations, total) => {
|
||||
return new Promise((resolve, reject) => {
|
||||
const worker = new worker_threads_1.Worker(__dirname + "/count_worker.js", {
|
||||
workerData: {
|
||||
iterations, total, request
|
||||
}
|
||||
});
|
||||
worker.on("message", (iter) => {
|
||||
const msg = `Request: ${request}, Iteration: ${(iter)}`;
|
||||
console.log(msg);
|
||||
});
|
||||
worker.on("exit", (code) => {
|
||||
if (code !== 0) {
|
||||
reject();
|
||||
}
|
||||
else {
|
||||
resolve();
|
||||
}
|
||||
});
|
||||
worker.on("error", reject);
|
||||
});
|
||||
};
|
||||
exports.Count = Count;
|
||||
@@ -0,0 +1,11 @@
|
||||
"use strict";
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
const worker_threads_1 = require("worker_threads");
|
||||
console.log(`Worker thread ${worker_threads_1.workerData.request} started`);
|
||||
for (let iter = 0; iter < worker_threads_1.workerData.iterations; iter++) {
|
||||
for (let count = 0; count < worker_threads_1.workerData.total; count++) {
|
||||
count++;
|
||||
}
|
||||
worker_threads_1.parentPort?.postMessage(iter);
|
||||
}
|
||||
console.log(`Worker thread ${worker_threads_1.workerData.request} finished`);
|
||||
@@ -0,0 +1,23 @@
|
||||
"use strict";
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
exports.Count = void 0;
|
||||
const worker_threads_1 = require("worker_threads");
|
||||
const Count = (request, iterations, total, callback) => {
|
||||
const worker = new worker_threads_1.Worker(__dirname + "/count_worker.js", {
|
||||
workerData: {
|
||||
iterations,
|
||||
total,
|
||||
request
|
||||
}
|
||||
});
|
||||
worker.on("message", async (iter) => {
|
||||
callback(null, iter);
|
||||
});
|
||||
worker.on("exit", async (code) => {
|
||||
callback(code === 0 ? null : new Error(), true);
|
||||
});
|
||||
worker.on("error", async (err) => {
|
||||
callback(err, true);
|
||||
});
|
||||
};
|
||||
exports.Count = Count;
|
||||
@@ -0,0 +1,9 @@
|
||||
"use strict";
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
exports.basicHandler = void 0;
|
||||
const fs_1 = require("fs");
|
||||
const basicHandler = (req, resp) => {
|
||||
resp.write((0, fs_1.readFileSync)("static/index.html"));
|
||||
resp.end();
|
||||
};
|
||||
exports.basicHandler = basicHandler;
|
||||
@@ -0,0 +1,7 @@
|
||||
"use strict";
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
exports.writePromise = exports.endPromise = void 0;
|
||||
const http_1 = require("http");
|
||||
const util_1 = require("util");
|
||||
exports.endPromise = (0, util_1.promisify)(http_1.ServerResponse.prototype.end);
|
||||
exports.writePromise = (0, util_1.promisify)(http_1.ServerResponse.prototype.write);
|
||||
@@ -0,0 +1,26 @@
|
||||
"use strict";
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
exports.readHandler = void 0;
|
||||
const readHandler = async (req, resp) => {
|
||||
if (req.headers["content-type"] == "application/json") {
|
||||
const payload = req.body;
|
||||
if (payload instanceof Array) {
|
||||
//resp.write(`Received an array with ${payload.length} items`)
|
||||
resp.json({ arraySize: payload.length });
|
||||
}
|
||||
else {
|
||||
resp.write("Did not receive an array");
|
||||
}
|
||||
resp.end();
|
||||
}
|
||||
else {
|
||||
req.pipe(resp);
|
||||
}
|
||||
};
|
||||
exports.readHandler = readHandler;
|
||||
// const createFromJsonTransform = () => new Transform({
|
||||
// readableObjectMode: true,
|
||||
// transform(data, encoding, callback) {
|
||||
// callback(null, JSON.parse(data));
|
||||
// }
|
||||
// });
|
||||
+25
@@ -0,0 +1,25 @@
|
||||
"use strict";
|
||||
var __importDefault = (this && this.__importDefault) || function (mod) {
|
||||
return (mod && mod.__esModule) ? mod : { "default": mod };
|
||||
};
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
const http_1 = require("http");
|
||||
const express_1 = __importDefault(require("express"));
|
||||
const readHandler_1 = require("./readHandler");
|
||||
const port = 5000;
|
||||
const expressApp = (0, express_1.default)();
|
||||
expressApp.use(express_1.default.json());
|
||||
expressApp.post("/read", readHandler_1.readHandler);
|
||||
expressApp.get("/sendcity", (req, resp) => {
|
||||
resp.sendFile("city.png", { root: "static" });
|
||||
});
|
||||
expressApp.get("/downloadcity", (req, resp) => {
|
||||
resp.download("static/city.png");
|
||||
});
|
||||
expressApp.get("/json", (req, resp) => {
|
||||
resp.json("{name: Bob}");
|
||||
});
|
||||
expressApp.use(express_1.default.static("static"));
|
||||
expressApp.use(express_1.default.static("node_modules/bootstrap/dist"));
|
||||
const server = (0, http_1.createServer)(expressApp);
|
||||
server.listen(port, () => console.log(`HTTP Server listening on port ${port}`));
|
||||
Reference in New Issue
Block a user