UNPKG

locusbuilder-utility

Version:

Locusbuilder Utility server for asset scraping and processing

67 lines (56 loc) 1.73 kB
const Express = require('express'); const app = Express(); const modules = require('./modules'); const routes = require('./routes'); // Start the polling service const polling= new modules.Polling({ instances:5 }); app.use(function(req, res, next) { res.header("Access-Control-Allow-Origin", "*"); res.header("Access-Control-Allow-Headers", "Origin, X-Requested-With, Content-Type, Accept"); next(); }); /** Route definitions */ // jshint ignore: start app.get('/parse', async (req,res) => { /* res.setHeader('Content-Type','application/json'); var url = req.param('url'); console.log('Requesting information for: ',url); try { let content = await modules.HtmlParser({'url':url}); let $ = await modules.Optimizer({ 'content': content }); let images = await $.findAll({search:'img', searchattr: 'src'}); res.json(images); } catch(e) { res.json({err:e,invalid:'invalid response'}) } */ res.setHeader('Content-Type','application/json'); var url = req.param('url'); try { polling.poll(url).then((val) => { console.log('Evaluated ',url); res.json(val); }); } catch(e) { res.json({'err':e}); } }); app.get('/test', (req,res) =>{ try { polling.poll(false).then((val) =>{ res.json(val); }); } catch(e) { res.json({err:e}) } }) app.get('*', (req,res) => { res.setHeader('Content-Type','application/json'); res.send(JSON.stringify({err: 'invalid access'})); }); app.listen(3000, () => console.log('Listening on port 3000'))