avatars.js 1.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. var express = require('express');
  2. var router = express.Router();
  3. var skins = require('../skins');
  4. var fs = require('fs')
  5. /* GET home page. */
  6. router.get('/:uuid/:size?', function(req, res) {
  7. //res.render('index', { title: 'Express' });
  8. //res.send("uuid is set to " + req.param("uuid"));
  9. //console.log(req.param('size'))
  10. var uuid = req.param('uuid')
  11. var size = req.param('size')
  12. if (size == null) {
  13. size = 180;
  14. }
  15. var filename = 'skins/' + uuid + ".png";
  16. if (fs.existsSync(filename)) {
  17. skins.extract_face(filename, size, function() {
  18. skins.extract_face(filename, size, function(data) {
  19. res.writeHead(200, {'Content-Type': 'image/png'});
  20. res.end(data);
  21. });
  22. });
  23. } else {
  24. skins.get_profile(uuid, function(profile) {
  25. var skinurl = skins.skin_url(profile);
  26. if (skinurl) {
  27. skins.skin_file(skinurl, filename, function() {
  28. skins.extract_face(filename, size, function(data) {
  29. res.writeHead(200, {'Content-Type': 'image/png'});
  30. res.end(data);
  31. });
  32. });
  33. } else {
  34. res.status(404) // HTTP status 404: NotFound
  35. .send('404 Not found')
  36. }
  37. });
  38. }
  39. });
  40. module.exports = router;