aviation-api
Version:
[](https://travis-ci.org/cristobal-io/aviation-api)
67 lines (52 loc) • 1.43 kB
JavaScript
;
var express = require("express");
var app = express();
var aviationModel = require("aviation-model");
app.use(function (req, res, done) {
res.setHeader("Content-Type", "application/json");
done();
});
// Request header logger middleware
app.get("*", function (req, res, next) {
console.log(req.headers);//eslint-disable-line no-console
next();
});
// http://localhost:8081/airports/?city=Valencia&iata=VLC
app.get("/airports/", function (req, res, next) {
if (!req.query.city) {
return next();
}
res.end(JSON.stringify({
CITY_HERE: req.query.city
}));
});
// http://localhost:8081/airports/?name=Valencia&iata=VLC
app.get("/airports/", function (req, res) {
res.end(JSON.stringify(req.query));
});
// http://localhost:8081/airport/valencia
app.get("/airport/:name", function (req, res) {
res.end(JSON.stringify({
name: req.params.name
}));
});
// http://localhost:8081/airport/iata/VLC
app.get("/airport/iata/:iata", function (req, res) {
aviationModel.getAirportJson({
iata: req.params.iata
}, function (err, airport) {
if (err) {
throw err;
}
console.log("Airport: ", airport);//eslint-disable-line no-console
res.end(JSON.stringify({
Airport: airport
}));
});
});
app.listen(8081, function (err) {
if (err) {
throw err;
}
console.log("Listening on http://localhost:8081");//eslint-disable-line no-console
});