Quellcode durchsuchen

fix errors for null skins, closes #20

jomo vor 10 Jahren
Ursprung
Commit
7d47028ff7
4 geänderte Dateien mit 12 neuen und 6 gelöschten Zeilen
  1. 7 4
      modules/helpers.js
  2. BIN
      public/images/alex_skin.png
  3. BIN
      public/images/steve_skin.png
  4. 5 2
      routes/skins.js

+ 7 - 4
modules/helpers.js

@@ -124,7 +124,7 @@ exp.get_image_hash = function(uuid, callback) {
 };
 
 
-// handles requests for +uuid+ images with +size+
+// handles requests for +uuid+ avatars with +size+
 // callback contains error, status, image buffer, hash
 // image is the user's face+helm when helm is true, or the face otherwise
 // for status, see get_image_hash
@@ -154,20 +154,23 @@ exp.get_avatar = function(uuid, helm, size, callback) {
   });
 };
 
+// handles requests for +uuid+ skins
+// callback contains error, hash, image buffer
 exp.get_skin = function(uuid, callback) {
-  logging.log("\nskin request: " + uuid);
+  logging.log(uuid + " skin request");
   exp.get_image_hash(uuid, function(err, status, hash) {
     if (hash) {
       var skinurl = "http://textures.minecraft.net/texture/" + hash;
       networking.get_skin(skinurl, function(err, img) {
         if (err) {
-          logging.log("\nerror while downloading skin");
+          logging.error("error while downloading skin");
           callback(err, hash, null);
         } else {
-          logging.log("\nreturning skin");
           callback(null, hash, img);
         }
       });
+    } else {
+      callback(err, null, null);
     }
   });
 };

BIN
public/images/alex_skin.png


BIN
public/images/steve_skin.png


+ 5 - 2
routes/skins.js

@@ -4,6 +4,7 @@ var helpers = require("../modules/helpers");
 var config = require("../modules/config");
 var router = require("express").Router();
 var skins = require("../modules/skins");
+var lwip = require("lwip");
 
 /* GET skin request. */
 router.get("/:uuid.:ext?", function(req, res) {
@@ -61,8 +62,10 @@ router.get("/:uuid.:ext?", function(req, res) {
       res.end();
     } else {
       def = def || skins.default_skin(uuid);
-      skins.resize_img("public/images/" + def + ".png", size, function(err, image) {
-        sendimage(http_status, image);
+      lwip.open("public/images/" + def + "_skin.png", function(err, image) {
+        image.toBuffer("png", function(err, buffer) {
+          sendimage(http_status, buffer);
+        });
       });
     }
   }