39 lines
1.0 KiB
TypeScript
39 lines
1.0 KiB
TypeScript
|
|
import http from "http";
|
|
import url from "url";
|
|
import fs from "fs";
|
|
import path from "path";
|
|
|
|
import {wsServer} from "./wsServer.js"; wsServer; // no-op, just for loading
|
|
|
|
const hostname = "localhost";
|
|
const port = 8080;
|
|
const root = "../../www/";
|
|
|
|
const server = http.createServer((req, res) => {
|
|
// let q = new URL(req.url, `http://${req.getHeaders().host}`)
|
|
let q = url.parse(req.url, true);
|
|
let filename = root + q.pathname;
|
|
fs.readFile(filename, (err, data) => {
|
|
if (err) {
|
|
res.writeHead(404, {"Content-Type": "text/html"});
|
|
return res.end("404 Not Found");
|
|
}
|
|
if (path.extname(filename) === ".html") {
|
|
res.writeHead(200, {"Content-Type": "text/html"});
|
|
}
|
|
else if (path.extname(filename) === ".js") {
|
|
res.writeHead(200, {"Content-Type": "application/javascript"});
|
|
}
|
|
else if (path.extname(filename) === ".mp3") {
|
|
res.writeHead(200, {"Content-Type": "audio/mpeg"});
|
|
}
|
|
res.write(data);
|
|
return res.end();
|
|
});
|
|
});
|
|
|
|
server.listen(port, hostname, () => {
|
|
console.log(`Pong running at http://${hostname}:${port}/pong.html`);
|
|
});
|