const express = require("express"); const app = express(); const path = require("path"); const user = require("./routes/user"); const admin = require("./routes/admin"); const info = require("./routes/info"); const files = require("./routes/files"); const shopping = require("./routes/shopping"); const pwman = require("./routes/pwman"); const remotecontrol = require("./routes/remotecontrol") const { stat } = require("fs"); app.use(express.json()) app.use((req, res, next) => { res.header("Access-Control-Allow-Origin", "*"); res.header("Access-Control-Allow-Headers", "*"); if (req.method === "OPTIONS") { res.header("Access-Control-Allow-Methods", "PUT, POST, PATCH, DELETE, GET"); return res.status(200).json({}); } next(); }) app.use("/user", user) app.use("/admin", admin) app.use("/info", info) app.use("/files", files) app.use("/shopping", shopping) app.use("/pwman", pwman) app.use("/remotecontrol", remotecontrol) app.use("/", (req, res) => { if(req.headers["user-agent"]&&req.headers["user-agent"].match(/SMART\-TV/)){ res.write("") require("./routes/sourceslist").getSources(`${req.query.devicename||req.socket.remoteAddress}`).forEach((line, index)=>{ console.log(line) res.write(`
`) }) res.write("") res.end() }else{ stat(`./htdocs${req.url}`, (err, stat) => { if (err || stat.isDirectory()) { //console.log("no such file") res.sendFile(path.resolve(`./htdocs/index.html`)) } else { //console.log("found file") res.sendFile(path.resolve(`./htdocs${req.url}`)) } }) } }) module.exports = app