var express = require('express');
var fs = require('fs');
var app = express();
app.use(express.static('public'));
function getPhotoList(callback) {
// TODO Make configurable.
var dir = "photos";
var fileNames;
fs.readdir(dir, function(err, fileNames) {
if (err) {
console.log("Error cannot read dir: " + dir);
} else {
this.fileNames = fileNames;
callback(fileNames);
}
});
}
// TODO Access photos by /photos/year/month/day
app.get('/photos/:index', function (req, res) {
getPhotoList(function sendResponse(fileNames) {
if (fileNames && req.params[0] in fileNames) {
res.send(JSON.stringify());
} else {
res.sendStatus(404);
}
});
});
app.get('/photos/', function (req, res) {
var fileNames = getPhotoList();
console.log(fileNames);
if (fileNames) {
res.send(JSON.stringify(fileNames));
} else {
console.log("asdf");
res.sendStatus(500);
}
});
var server = app.listen(3000, function () {
var host = server.address().address;
var port = server.address().port;
console.log('App listening at http://%s:%s', host, port);
});