mirror of
https://github.com/azures04/crafatar.git
synced 2026-03-22 07:51:17 +01:00
Merge branch 'master' of github.com:Jake0oo0/crafatar
This commit is contained in:
commit
3e73b833c4
2
.gitignore
vendored
2
.gitignore
vendored
@ -1,4 +1,4 @@
|
||||
skins/*.png
|
||||
skins/*/*.png
|
||||
*.log
|
||||
node_modules/
|
||||
.DS_Store
|
||||
|
||||
@ -44,7 +44,14 @@ exp.save_hash = function(uuid, hash) {
|
||||
// null when uuid unkown
|
||||
exp.get_details = function(uuid, callback) {
|
||||
redis.hgetall(uuid, function(err, data) {
|
||||
callback(err, data);
|
||||
var details = null;
|
||||
if (data) {
|
||||
details = {
|
||||
hash: (data.h == "null" ? null : data.h),
|
||||
time: data.t
|
||||
};
|
||||
}
|
||||
callback(err, details);
|
||||
});
|
||||
};
|
||||
|
||||
|
||||
@ -15,7 +15,11 @@ function get_hash(url) {
|
||||
function store_images(uuid, details, callback) {
|
||||
// get profile for +uuid+
|
||||
networking.get_profile(uuid, function(err, profile) {
|
||||
if (err) {
|
||||
if (err === 0) {
|
||||
// uuid does not exist
|
||||
cache.save_hash(uuid, null);
|
||||
callback(null, null);
|
||||
} else if (err) {
|
||||
callback(err, null);
|
||||
} else {
|
||||
var skinurl = skin_url(profile);
|
||||
@ -23,7 +27,7 @@ function store_images(uuid, details, callback) {
|
||||
console.log(uuid + " " + skinurl);
|
||||
// set file paths
|
||||
var hash = get_hash(skinurl);
|
||||
if (details && details.h == hash) {
|
||||
if (details && details.hash == hash) {
|
||||
// hash hasn't changed
|
||||
console.log(uuid + " hash has not changed");
|
||||
cache.update_timestamp(uuid);
|
||||
@ -79,15 +83,15 @@ function get_image_hash(uuid, callback) {
|
||||
if (err) {
|
||||
callback(err, -1, null);
|
||||
} else {
|
||||
if (details && details.t + config.local_cache_time >= new Date().getTime()) {
|
||||
if (details && details.time + config.local_cache_time >= new Date().getTime()) {
|
||||
// uuid known + recently updated
|
||||
console.log(uuid + " uuid known & recently updated");
|
||||
callback(null, 1, details.h);
|
||||
callback(null, (details.hash ? 1 : 0), details.hash);
|
||||
} else {
|
||||
console.log(uuid + " uuid not known or too old");
|
||||
store_images(uuid, details, function(err, hash) {
|
||||
if (err) {
|
||||
callback(err, -1, details && details.h);
|
||||
callback(err, -1, details && details.hash);
|
||||
} else {
|
||||
console.log(uuid + " hash: " + hash);
|
||||
callback(null, (hash ? 2 : 3), hash);
|
||||
|
||||
@ -17,22 +17,21 @@ exp.get_profile = function(uuid, callback) {
|
||||
// profile downloaded successfully
|
||||
console.log(uuid + " profile downloaded");
|
||||
callback(null, JSON.parse(body));
|
||||
} else {
|
||||
if (error) {
|
||||
} else if (error) {
|
||||
callback(error, null);
|
||||
return;
|
||||
} else if (response.statusCode == 204 || response.statusCode == 404) {
|
||||
// we get 204 No Content when UUID doesn't exist (including 404 in case they change that)
|
||||
console.log(uuid + " uuid does not exist");
|
||||
callback(0, null);
|
||||
} else if (response.statusCode == 429) {
|
||||
// Too Many Requests
|
||||
console.warn(uuid + " Too many requests");
|
||||
console.warn(body);
|
||||
callback(null, null);
|
||||
} else {
|
||||
console.error(uuid + " Unknown error:");
|
||||
console.error(response);
|
||||
console.error(body);
|
||||
}
|
||||
callback(null, null);
|
||||
}
|
||||
});
|
||||
|
||||
@ -35,7 +35,7 @@ router.get('/:uuid', function(req, res) {
|
||||
}
|
||||
} else if (status == 1 || status == 2) {
|
||||
sendimage(200, status == 1, image);
|
||||
} else if (status == 3) {
|
||||
} else if (status == 0 || status == 3) {
|
||||
handle_404(def);
|
||||
} else {
|
||||
console.error("unexpected error/status");
|
||||
|
||||
@ -5,10 +5,7 @@ var networking = require('../modules/networking');
|
||||
var helpers = require('../modules/helpers');
|
||||
var config = require('../modules/config');
|
||||
var skins = require('../modules/skins');
|
||||
var url = require('url');
|
||||
var redisURL = url.parse(process.env.REDISCLOUD_URL);
|
||||
var redis = require("redis").createClient(redisURL.port, redisURL.hostname, {no_ready_check: true});
|
||||
redis.auth(redisURL.auth.split(":")[1]);
|
||||
var redis = require("redis").createClient();
|
||||
|
||||
var uuids = fs.readFileSync('test/uuids.txt').toString().split("\r\n");
|
||||
// Get a random UUID in order to prevent rate limiting
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user