| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556 | var logging = require("../logging");var helpers = require("../helpers");var cache = require("../cache");// GET cape requestmodule.exports = function(req, callback) {  var userId = (req.url.path_list[1] || "").split(".")[0];  var def = req.url.query.default;  var rid = req.id;  // check for extra paths  if (req.url.path_list.length > 2) {    callback({      status: -2,      body: "Invalid Path",      code: 404    });    return;  }  if (!helpers.id_valid(userId)) {    callback({      status: -2,      body: "Invalid UserID"    });    return;  }  // strip dashes  userId = userId.replace(/-/g, "");  try {    helpers.get_cape(rid, userId, function(err, hash, status, image) {      if (err) {        logging.error(rid, err);        if (err.code === "ENOENT") {          // no such file          cache.remove_hash(rid, userId);        }      }      callback({        status: status,        body: image,        type: image ? "image/png" : undefined,        redirect: image ? undefined : def,        hash: hash,        err: err      });    });  } catch(e) {    callback({      status: -1,      err: e    });  }};
 |