Select Git revision
-
Steve Battle authoredSteve Battle authored
server.js 2.31 KiB
/**
* @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);
}