Initial content

This commit is contained in:
Adam Freeman
2024-05-29 18:54:49 +01:00
parent 2dbc1a8088
commit 5215a1d919
1944 changed files with 203378 additions and 0 deletions
+27
View File
@@ -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;
+11
View File
@@ -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`);
+23
View File
@@ -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;
+9
View File
@@ -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;
+7
View File
@@ -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);
+26
View File
@@ -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
View File
@@ -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}`));