Better logging for favicons.

This commit is contained in:
Samuel Clay 2016-11-30 12:38:31 -08:00
parent 332a9a55ca
commit 95a6d4ce09
2 changed files with 14 additions and 10 deletions

View file

@ -27,17 +27,19 @@ mongo.MongoClient.connect url, (err, db) =>
app.get /\/rss_feeds\/icon\/(\d+)\/?/, (req, res) =>
feed_id = parseInt(req.params[0], 10)
etag = req.header('If-None-Match')
console.log " ---> Feed: #{feed_id} / #{etag}"
console.log " ---> Feed: #{feed_id} " + if etag then " / #{etag}" else ""
@collection.findOne _id: feed_id, (err, docs) ->
console.log "Req #{req.params[0]}: #{feed_id}, etag: #{etag}/#{docs?.color} (err: #{err}, docs? #{!!(docs and docs.data)})"
if not err and etag and docs and docs?.color == etag
res.send 304
console.log " ---> Cached: #{feed_id}, etag: #{etag}/#{docs?.color} " + if err then "(err: #{err})" else ""
res.sendStatus 304
else if not err and docs and docs.data
res.header 'etag', docs.color
body = new Buffer(docs.data, 'base64')
res.set("Content-Type", "image/png")
res.status(200).send body
console.log " ---> Req: #{feed_id}, etag: #{etag}/#{docs?.color} " + if err then "(err: #{err})" else ""
res.header 'etag', docs.color
body = new Buffer(docs.data, 'base64')
res.set("Content-Type", "image/png")
res.status(200).send body
else
console.log " ---> Redirect: #{feed_id}, etag: #{etag}/#{docs?.color} " + if err then "(err: #{err})" else ""
if DEV
res.redirect '/media/img/icons/circular/world.png'
else

View file

@ -43,20 +43,22 @@
var etag, feed_id;
feed_id = parseInt(req.params[0], 10);
etag = req.header('If-None-Match');
console.log(" ---> Feed: " + feed_id + " / " + etag);
console.log((" ---> Feed: " + feed_id + " ") + (etag ? " / " + etag : ""));
return _this.collection.findOne({
_id: feed_id
}, function(err, docs) {
var body;
console.log("Req " + req.params[0] + ": " + feed_id + ", etag: " + etag + "/" + (docs != null ? docs.color : void 0) + " (err: " + err + ", docs? " + (!!(docs && docs.data)) + ")");
if (!err && etag && docs && (docs != null ? docs.color : void 0) === etag) {
return res.send(304);
console.log((" ---> Cached: " + feed_id + ", etag: " + etag + "/" + (docs != null ? docs.color : void 0) + " ") + (err ? "(err: " + err + ")" : ""));
return res.sendStatus(304);
} else if (!err && docs && docs.data) {
console.log((" ---> Req: " + feed_id + ", etag: " + etag + "/" + (docs != null ? docs.color : void 0) + " ") + (err ? "(err: " + err + ")" : ""));
res.header('etag', docs.color);
body = new Buffer(docs.data, 'base64');
res.set("Content-Type", "image/png");
return res.status(200).send(body);
} else {
console.log((" ---> Redirect: " + feed_id + ", etag: " + etag + "/" + (docs != null ? docs.color : void 0) + " ") + (err ? "(err: " + err + ")" : ""));
if (DEV) {
return res.redirect('/media/img/icons/circular/world.png');
} else {