/** * @module server * @version 1.0 * @requires express * @license open source * @author steve battle */ // see openshift blog // https://blog.openshift.com/run-your-nodejs-projects-on-openshift-in-two-simple-steps/ // use PORT environment variable or default 8080 //console.log("PORT="+process.env.PORT); //console.log("OPENSHIFT_NODEJS_PORT="+process.env.OPENSHIFT_NODEJS_PORT); //var port = process.env.OPENSHIFT_NODEJS_PORT || 8080 var port = 8080; // load the things we need var express = require('express'); var ws = require('./wslib'); exports.ws = ws; /** * Web service options. * @var {Object} options */ var conf = require('./config/dev.json'); var options = conf.options; exports.options = options; var app = express(); // set the view engine to ejs app.set('view engine', 'ejs'); exports.app = app; // embed path p for ws invocation /** @param {String} p path * @returns {Object} options * @author steve battle */ function path(p) { options.path = p; return options; } exports.path = path; // use res.render to load up an ejs view file // app.get('/', function(request, response) { // response.render('index'); // }); // https://bristol.api.urbanthings.io/api/2.0/static/importsources app.get("/", function (request, response) { ws.invoke(path("/api/2.0/static/importsources"), (err,data) => { if (err) response.status(404).send("Oops!"); else response.render('page1', data); }) ; }); // https://bristol.api.urbanthings.io/api/2.0/static/agencies?importsource=TNDS app.get("/page2", function (request, response) { var importsource = request.query.importsource; ws.invoke(path("/api/2.0/static/agencies?importsource=" + importsource), (err,data) => { if (err) response.status(404).send("Oops!"); else response.render('page2', data); }) ; }); // https://bristol.api.urbanthings.io/api/2.0/static/routes/info/Source?agencyID=UK_TNDS_NOC_FBRI app.get("/page3", function (request, response) { var agencyID = request.query.agencyID; ws.invoke(path("/api/2.0/static/routes/info/Source?agencyID=" + agencyID), (err,data) => { if (err) response.status(404).send("Oops!"); else response.render('page3', data); }) ; }); if (process.env.NODE_ENV!="test") { app.listen(port); console.log('Listening on port '+port); }