2
0

capes.js 930 B

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  1. var logging = require("../logging");
  2. var helpers = require("../helpers");
  3. var cache = require("../cache");
  4. // GET cape request
  5. module.exports = function(req, callback) {
  6. var userId = (req.url.pathname.split("/")[2] || "").split(".")[0];
  7. var rid = req.id;
  8. if (!helpers.id_valid(userId)) {
  9. callback({
  10. status: -2,
  11. body: "Invalid userid"
  12. });
  13. return;
  14. }
  15. // strip dashes
  16. userId = userId.replace(/-/g, "");
  17. try {
  18. helpers.get_cape(rid, userId, function(err, hash, status, image) {
  19. if (err) {
  20. logging.error(rid, err);
  21. if (err.code === "ENOENT") {
  22. // no such file
  23. cache.remove_hash(rid, userId);
  24. }
  25. }
  26. callback({
  27. status: status,
  28. body: image,
  29. type: image ? "image/png" : undefined,
  30. hash: hash,
  31. err: err
  32. });
  33. });
  34. } catch(e) {
  35. callback({
  36. status: -1,
  37. err: e
  38. });
  39. }
  40. };