From 157b6221e9eeb77a066b93d0fcea4627b17fba71 Mon Sep 17 00:00:00 2001
From: "adnma186@student.liu.se" <adnma186@student.liu.se>
Date: Fri, 8 Mar 2024 16:59:20 +0100
Subject: [PATCH] =?UTF-8?q?b=C3=B6rjan=20p=C3=A5=20js?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 server/app.js | 52 +++++++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 52 insertions(+)

diff --git a/server/app.js b/server/app.js
index e69de29..40115d1 100644
--- a/server/app.js
+++ b/server/app.js
@@ -0,0 +1,52 @@
+const http = require("http");
+const fs = require("fs");
+const hostname = "127.0.0.1";
+const port = 3000;
+const serverUrl = `http://${hostname}:${port}`;
+
+const server = http.createServer((req, res) => {
+    console.log("A new incoming HTTP request has been received with method type: " + req.method);
+    const requestUrl = new URL(serverUrl + req.url);
+    const pathComponents = requestUrl.pathname.split("/");
+
+    if (req.method == "GET") {
+        switch (pathComponents[1]) {
+            case "generateSecondView":
+                generateSecondView(req, res);
+                break;
+            default:
+                sendResponse(res, 200, "text/plain", "Welcome on our server.");
+                break;
+        }
+    } else if (req.method == "OPTIONS") {
+        sendResponse(res, 204, null, null);
+    }
+});
+
+server.listen(port, hostname, () => {
+    console.log("The server is running and listening at\n" + serverUrl);
+});
+
+function sendResponse(res, statusCode, contentType, data) {
+    res.statusCode = statusCode;
+    if (contentType != null) res.setHeader("Content-Type", contentType);
+    res.setHeader("Access-Control-Allow-Origin", "*");
+    res.setHeader("Access-Control-Allow-Headers", "*");
+    if (data != null) res.end(data);
+    else res.end();
+}
+
+function generateSecondView(req, res) {
+    let contentType = 'text/html';
+    let filePath = '/Users/adnamaric/Desktop/grupp-4-project/client/secondView.html';
+
+    fs.readFile(filePath, (err, content) => {
+        if (err) {
+            res.writeHead(500);
+            res.end('Server Error');
+        } else {
+            res.writeHead(200, { 'Content-Type': contentType });
+            res.end(content, 'utf-8');
+        }
+    });
+}
\ No newline at end of file
-- 
GitLab