Jake 10 years ago
parent
commit
9fa9342bdc
5 changed files with 31 additions and 33 deletions
  1. 1 1
      modules/cache.js
  2. 18 17
      modules/helpers.js
  3. 8 11
      modules/networking.js
  4. 1 1
      package.json
  5. 3 3
      test/test.js

+ 1 - 1
modules/cache.js

@@ -82,7 +82,7 @@ exp.info = function(callback) {
     });
     obj.versions = [];
     if( obj.redis_version ){
-      obj.redis_version.split(".").forEach(function (num) {
+      obj.redis_version.split(".").forEach(function(num) {
         obj.versions.push(+num);
       });
     }

+ 18 - 17
modules/helpers.js

@@ -172,27 +172,28 @@ exp.get_image_hash = function(uuid, raw_type, callback) {
     if (err) {
       callback(err, -1, null);
     } else {
-      if (details && details.time + config.local_cache_time * 1000 >= new Date().getTime()) {logging.log(uuid + " uuid cached & recently updated");
-      callback(null, (type ? 1 : 0), type);
-    } else {
-      if (details) {
-        logging.log(uuid + " uuid cached, but too old");
+      if (details && details.time + config.local_cache_time * 1000 >= new Date().getTime()) {
+        logging.log(uuid + " uuid cached & recently updated");
+        callback(null, (type ? 1 : 0), type);
       } else {
-        logging.log(uuid + " uuid not cached");
-      }
-      store_images(uuid, details, raw_type, function(err, hash) {
-        if (err) {
-          callback(err, -1, details && type);
+        if (details) {
+          logging.log(uuid + " uuid cached, but too old");
         } else {
-          var status = details && (type === hash) ? 3 : 2;
-          logging.debug(uuid + " old hash: " + (details && type));
-          logging.log(uuid + " hash: " + hash);
-          callback(null, status, hash);
+          logging.log(uuid + " uuid not cached");
         }
-      });
+        store_images(uuid, details, raw_type, function(err, hash) {
+          if (err) {
+            callback(err, -1, details && type);
+          } else {
+            var status = details && (type === hash) ? 3 : 2;
+            logging.debug(uuid + " old hash: " + (details && type));
+            logging.log(uuid + " hash: " + hash);
+            callback(null, status, hash);
+          }
+        });
+      }
     }
-  }
-});
+  });
 };
 
 

+ 8 - 11
modules/networking.js

@@ -1,5 +1,5 @@
 var logging = require("./logging");
-var request = require("requestretry");
+var request = require("request");
 var config = require("./config");
 var fs = require("fs");
 
@@ -41,7 +41,8 @@ exp.extract_cape_url = function(profile) {
 // specified. +callback+ contains the body, response,
 // and error buffer. get_from helper method is available
 exp.get_from_options = function(url, options, callback) {
-  request({
+  console.log("HERE: " + config.http_timeout)
+  request.get({
     url: url,
     headers: {
       "User-Agent": "https://crafatar.com"
@@ -49,9 +50,7 @@ exp.get_from_options = function(url, options, callback) {
     timeout: (options.timeout || config.http_timeout),
     encoding: (options.encoding || null),
     followRedirect: (options.folow_redirect || false),
-    maxAttempts: 2,
-    retryDelay: 2000,
-    retryStrategy: request.RetryStrategies.NetworkError
+    maxAttempts: (options.max_attempts || 2)
   }, function(error, response, body) {
     // 200 or 301 depending on content type
     if (!error && (response.statusCode === 200 || response.statusCode === 301)) {
@@ -61,7 +60,7 @@ exp.get_from_options = function(url, options, callback) {
     } else if (error) {
       callback(body || null, response, error);
     } else if (response.statusCode === 404) {
-      // page doesn't exist
+      // page does not exist
       logging.log(url + " url does not exist");
       callback(null, response, null);
     } else if (response.statusCode === 429) {
@@ -120,14 +119,12 @@ exp.get_profile = function(uuid, callback) {
   if (!uuid) {
     callback(null, null);
   } else {
-    exp.get_from_options(session_url + uuid, {encoding: "utf8"}, function(body, response, err) {
-      callback(err !== null ? err : null, (body !== null ? JSON.parse(body) : null));
+    exp.get_from_options(session_url + uuid, { encoding: "utf8" }, function(body, response, err) {
+      callback(err || null, (body !== null ? JSON.parse(body) : null));
     }); 
   }
 };
 
-// todo remove middleman
-
 // +uuid+ is likely a username and if so
 // +uuid+ is used to get the url, otherwise
 // +profile+ will be used to get the url
@@ -161,7 +158,7 @@ function getUrl(uuid, profile, type, callback) {
 
 // downloads skin file from +url+
 // callback contains error, image
-exp.get_skin = function(url, callback) {
+exp.get_skin = function(url, uuid, callback) {
   exp.get_from(url, function(body, response, err) {
     callback(body, err);
   });

+ 1 - 1
package.json

@@ -30,7 +30,7 @@
     "jade": "~1.8.2",
     "lwip": "0.0.6",
     "redis": "0.12.1",
-    "requestretry": "1.2.2",
+    "request": "2.51.1",
     "node-df": "0.1.1",
     "mime": "1.2.11"
   },

+ 3 - 3
test/test.js

@@ -29,8 +29,8 @@ function getRandomInt(min, max) {
 
 var ids = [
   uuid.toLowerCase(),
-  uuid.toUpperCase(),
   name.toLowerCase(),
+  uuid.toUpperCase(),
   name.toUpperCase()
 ];
 
@@ -145,8 +145,8 @@ describe("Crafatar", function() {
     it("should time out on skin download", function(done) {
       var original_timeout = config.http_timeout;
       config.http_timeout = 1;
-      networking.get_skin("http://textures.minecraft.net/texture/477be35554684c28bdeee4cf11c591d3c88afb77e0b98da893fd7bc318c65184", uuid, function(err, img) {
-        assert.strictEqual(err.code, "ETIMEDOUT");
+      networking.get_from("http://textures.minecraft.net/texture/477be35554684c28bdeee4cf11c591d3c88afb77e0b98da893fd7bc318c65184", function(body, res, error) {
+        assert.strictEqual(error.code, "ETIMEDOUT");
         config.http_timeout = original_timeout;
         done();
       });