1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253 |
- var helpers = require("../helpers");
- var cache = require("../cache");
- // GET cape request
- module.exports = function(req, callback) {
- var userId = (req.url.path_list[1] || "").split(".")[0];
- var def = req.url.searchParams.get('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;
- }
- // strip dashes
- userId = userId.replace(/-/g, "");
- if (!helpers.id_valid(userId)) {
- callback({
- status: -2,
- body: "Invalid UUID"
- });
- return;
- }
- try {
- helpers.get_cape(rid, userId, function(err, hash, status, image) {
- if (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
- });
- }
- };
|