var portServer = 8001; var securePort = 8020; var express = require('express'); var app = express(); var fs = require('fs'); var request = require('request'); var bodyParser = require("body-parser"); var moment = require('moment'); /*var fetch = require("node-fetch");*/ app.use(bodyParser.urlencoded({ extended: false })); app.use(bodyParser.json()); var cron = require('node-cron'); var http = require('http'); var https = require('https'); var MongoClient = require('mongodb').MongoClient; var sanitize = require('mongo-sanitize'); var cheerio = require("cheerio"); //jQuery Substitute const pug = require('pug'); const { exec } = require('child_process'); const path = require('path'); app.set('view engine', "pug") app.use("/images", express.static(path.join(__dirname, '/images'))); app.use("/static", express.static(path.join(__dirname, "/static"))); app.get('/', function (req, res) { res.send('Hello World'); }); app.get("/getPrice", async function(req, res){ try{ console.log(`Getting Price!`); //console.log(`Request Body: \n ${JSON.stringify(req.body["instanceCount"])}`); let url = req.query["url"]; let prefix = req.query["prefix"]; let instanceCount = parseInt(req.query["instanceCount"]); let idName = req.query["idName"]; let finalAnswer = ""; console.log(`Get Price Info:\n Prefix: ${prefix}\n InstanceCount: ${instanceCount}\n idName: ${idName}\n URL: ${url}\n `); request(url, (err, resp, html) => { const $ = cheerio.load(html); finalAnswer = ""; $(idName).each((i, el) => { if(i == instanceCount){ const item = $(el).text(); finalAnswer = item.split(prefix).reverse()[0]; } }); console.log(`Answer: ${finalAnswer}`); res.send(`Answer: ${finalAnswer}`); res.end(); }); }catch(e){ console.error(e); res.end(); } }); const httpServer = http.createServer(app); //const httpsServer = https.createServer(credentials, app); var server = httpServer.listen(portServer, function () { var host = server.address().address var port = server.address().port console.log("Server is listening at http://%s:%s", host, port) });