"use strict"; let http = require("http"); let express = require("express"); let compression = require("compression"); let {resolve} = require("path"); let auth = require("express-basic-auth"); const { termoutput, HTTP_PORT, NETWORK_MASK, HTTP_AUTH, HTTP_AUTH_USERNAME, HTTP_AUTH_USERPASSWORD } = require("./config"); let server = http.createServer(); const stats = require("./stats"); let app = express(); server.addListener("request", app); app.use(compression({ level: 9 })); server.listen(HTTP_PORT,NETWORK_MASK,() => { termoutput && console.log("HTTP Service Running..."); }); server.addListener("error",(err)=> { console.err(err) }) exports.http = server; let authorize = auth({ users:{ [HTTP_AUTH_USERNAME]: HTTP_AUTH_USERPASSWORD }, challenge: true }); app.get("/script",(request, response)=>{ response.sendFile(resolve("./script/index.js")) }); app.get("/test",(request, response)=>{ response.sendFile(resolve("./script/test.html")) }); app.get("/index.js.map",(request, response)=>{ response.sendFile(resolve("./script/index.js.map")) }); if(HTTP_AUTH) { app.get("/stream",(request, response)=>{ response.sendFile(resolve("./public/index.html")) }); app.use("/stream",express.static(resolve("./public"))); app.get("/",authorize,(request, response)=>{ response.sendFile(resolve("./script/index.html")) }); app.post("/stats",authorize,(request, response)=>{ response.json(stats.others); }); } app.get("*",(request, response)=>{ response.sendFile(resolve("./script/status.xml")) });