376chan/server.js
2023-02-04 13:46:57 -05:00

92 lines
1.9 KiB
JavaScript

const http = require("http");
const fs = require("fs");
const qs = require("querystring");
const server = http.createServer((req, res) => {
if (req.url === "/styles/styles.css") {
res.statusCode = 200;
res.setHeader("Content-Type", "text/css");
fs.readFile("styles/styles.css", function(error, data) {
if (error) {
res.writeHead(404);
res.write("Error: File not found.");
} else {
res.write(data);
}
res.end();
});
}
if (req.url === "/") {
res.statusCode = 200;
res.setHeader("Content-Type", "text/html");
fs.readFile("./pages/home.html", function(error, data) {
if (error) {
res.writeHead(404);
res.write("Error: File not found.");
} else {
res.write(data);
}
res.end();
});
}
if (req.url === "/about") {
res.statusCode = 200;
res.setHeader("Content-Type", "text/html");
fs.readFile("./pages/about.html", function(error, data) {
if (error) {
res.writeHead(404);
res.write("Error: File not found.");
} else {
res.write(data);
}
res.end();
});
}
if (req.method === "POST" && req.url === "/members") {
res.statusCode = 200;
res.setHeader("Content-Type", "text/html");
var body = "";
req.on("data", function(data) {
body = body + data;
});
req.on("end", function() {
var post = qs.parse(body);
if (post.username === "sweatshirt" && post.password === "Daemons0!") {
res.writeHead(301, { Location: "/sweatshirt" });
} else {
res.write("try again.");
}
res.end();
});
}
if (req.url === "/sweatshirt") {
res.statusCode = 200;
res.setHeader("Content-Type", "text/html");
fs.readFile("./pages/sweatshirt.html", function(error, data) {
if (error) {
res.writeHead(404);
res.write("Error: File not found.");
} else {
res.write(data);
}
res.end();
});
}
});
const port = process.env.port || 8080;
server.listen(port, () => console.log(`Server running on port ${port}`));