mirror of
https://github.com/EvolutionAPI/evolution-manager.git
synced 2025-07-13 07:04:50 -06:00
69 lines
1.6 KiB
JavaScript
69 lines
1.6 KiB
JavaScript
// const pm2 = require('pm2')
|
|
const mime = require('mime-types');
|
|
var http = require('http');
|
|
var fs = require('fs');
|
|
const url = require('url');
|
|
const build = require('./utils/build.js')
|
|
|
|
const functions = {
|
|
start,
|
|
build,
|
|
}
|
|
|
|
module.exports = async (argv) => {
|
|
try{
|
|
|
|
if (argv._.length === 1) throw new Error('No operation specified')
|
|
|
|
const operation = argv._[1]
|
|
if (!functions[operation]) throw new Error(`Unknown operation: ${operation}`)
|
|
|
|
await functions[operation](argv)
|
|
} catch (e) {
|
|
console.error(e.message || e)
|
|
process.exit(1)
|
|
}
|
|
}
|
|
|
|
|
|
|
|
const path = require('path');
|
|
|
|
function startServer(argv) {
|
|
const { port = 9615 } = argv || {}
|
|
|
|
const index = fs.readFileSync(path.join(__dirname, '..', 'dist', 'index.html'));
|
|
|
|
http.createServer(function (req, res) {
|
|
try {
|
|
const parsedUrl = url.parse(req.url, true);
|
|
|
|
// verify if url is a file in dist folder
|
|
if (parsedUrl.pathname === '/') throw {}
|
|
let filePath = path.join(__dirname, '..', 'dist', parsedUrl.pathname);
|
|
|
|
if (fs.existsSync(filePath)) {
|
|
const contentType = mime.lookup(filePath) || 'text/plain';
|
|
res.writeHead(200, { 'Content-Type': contentType });
|
|
res.end(fs.readFileSync(filePath));
|
|
return
|
|
}
|
|
|
|
res.writeHead(200, { 'Content-Type': 'text/html' });
|
|
res.end(index);
|
|
} catch {
|
|
res.writeHead(200, { 'Content-Type': 'text/html' });
|
|
res.end(index);
|
|
}
|
|
}).listen(port);
|
|
|
|
console.log('🚀 Server start')
|
|
console.log('🚀 Server listening on port ' + port)
|
|
}
|
|
|
|
async function start(argv) {
|
|
await build()
|
|
startServer(argv)
|
|
}
|
|
|