locusbuilder-utility
Version:
Locusbuilder Utility server for asset scraping and processing
67 lines (56 loc) • 1.73 kB
JavaScript
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'))