const express = require('express'); const bodyParser = require('body-parser'); const app = express(); const pug = require('pug'); const server = require('http').createServer(app); //const https = require("https"); const cookieParser = require('cookie-parser'); const fs = require('fs'); const path = require('path'); const formidable = require('formidable'); var port = 3000; app.use(bodyParser.urlencoded({ extended: true, limit: '20mb' })); app.use(cookieParser()); app.set('view engine', 'pug') app.use('/assets', express.static('assets')) app.use('/tmp', express.static('tmp')) app.use('/files', express.static('profiles')) // middleware function to check for logged-in users var sessionChecker = (req, res, next) => { next(); }; // route for Home-Page app.get('/', sessionChecker, (req, res) => { var pageTitle = "Log Parser - Start"; res.render('intro', { title: pageTitle }) }); app.route('/upload') .get(sessionChecker, (req, res) => { res.redirect('/'); }) .post((req, res, next) => { var pageTitle = 'Log Parser - Result'; const form = formidable({ keepExtensions: true, uploadDir: "tmp" }); form.parse(req, (err, fields, files) => { if (err) { next(err); return; } fs.open(files.logfile.path, 'r', function (err, f) { if (err) { return console.error(err); } var result = fs.readFileSync(f).toString().split("\n"); var jobType = ""; /*result.forEach(function(line) { if (checkJobType(line) !== undefined) { jobType = checkJobType(line); } }); */ res.render('upload', {title: pageTitle, files: files, jobtype: jobType, data: result}); }); }); }); server.listen(port, function(){ console.log('Server started. Listening on *:' + port); }); // helpers function uniq(a) { return a.sort().filter(function(item, pos, ary) { return !pos || item != ary[pos - 1]; }) } function isPresetNum(number, def) { return isNaN(number) || number == "" ? def : parseInt(number); } function findDuplicate(users, clientemail) { let result = users.filter((item) => item.email === clientemail && item.type === 'attendee').length > 0; return result; } function fmtMSS(s){return(s-(s%=60))/60+(9