diff --git a/config.example.js b/config.example.js
index 10a0bb0..be165d5 100644
--- a/config.example.js
+++ b/config.example.js
@@ -16,15 +16,15 @@ var config = {
amount: 50000 // amount of skins for which all iamge types are deleted
},
directories: {
- faces_dir: "images/faces/", // directory where faces are kept. should have trailing "/"
- helms_dir: "images/helms/", // directory where helms are kept. should have trailing "/"
- skins_dir: "images/skins/", // directory where skins are kept. should have trailing "/"
- renders_dir: "images/renders/", // directory where rendered skins are kept. should have trailing "/"
- capes_dir: "images/capes/" // directory where capes are kept. should have trailing "/"
+ faces: "images/faces/", // directory where faces are kept. should have trailing "/"
+ helms: "images/helms/", // directory where helms are kept. should have trailing "/"
+ skins: "images/skins/", // directory where skins are kept. should have trailing "/"
+ renders: "images/renders/", // directory where rendered skins are kept. should have trailing "/"
+ capes: "images/capes/" // directory where capes are kept. should have trailing "/"
},
caching: {
- local_cache_time: 1200, // seconds until we will check if user's skin changed. should be > 60 to comply with Mojang's rate limit
- browser_cache_time: 3600 // seconds until browser will request image again
+ local: 1200, // seconds until we will check if user's skin changed. should be > 60 to comply with Mojang's rate limit
+ browser: 3600 // seconds until browser will request image again
},
server: {
http_timeout: 1000, // ms until connection to Mojang is dropped
diff --git a/lib/cache.js b/lib/cache.js
index f5ea38b..f3ac571 100644
--- a/lib/cache.js
+++ b/lib/cache.js
@@ -40,7 +40,7 @@ function connect_redis() {
// the helms file is ignored because we only need 1 file to read/write from
function update_file_date(rid, skin_hash) {
if (skin_hash) {
- var face_path = path.join(__dirname, "..", config.directories.faces_dir, skin_hash + ".png");
+ var face_path = path.join(__dirname, "..", config.directories.faces, skin_hash + ".png");
fs.exists(face_path, function(exists) {
if (exists) {
var date = new Date();
@@ -99,7 +99,7 @@ exp.info = function(callback) {
// callback: error
exp.update_timestamp = function(rid, userId, hash, temp, callback) {
logging.debug(rid, "updating cache timestamp");
- var sub = temp ? (config.caching.local_cache_time - 60) : 0;
+ var sub = temp ? (config.caching.local - 60) : 0;
var time = Date.now() - sub;
// store userId in lower case if not null
userId = userId && userId.toLowerCase();
diff --git a/lib/cleaner.js b/lib/cleaner.js
index 1d0c249..53924c5 100644
--- a/lib/cleaner.js
+++ b/lib/cleaner.js
@@ -35,7 +35,7 @@ function should_clean_redis(callback) {
// callback: error, true|false
function should_clean_disk(callback) {
df({
- file: path.join(__dirname, "..", config.directories.faces_dir),
+ file: path.join(__dirname, "..", config.directories.faces),
prefixMultiplier: "KiB",
isDisplayPrefixMultiplier: false,
precision: 2
@@ -71,10 +71,10 @@ exp.run = function() {
logging.error(err);
} else if (clean) {
logging.warn("DiskCleaner: Disk limit reached! Cleaning images now");
- var facesdir = path.join(__dirname, "..", config.directories.faces_dir);
- var helmdir = path.join(__dirname, "..", config.directories.helms_dir);
- var renderdir = path.join(__dirname, "..", config.directories.renders_dir);
- var skindir = path.join(__dirname, "..", config.directories.skins_dir);
+ var facesdir = path.join(__dirname, "..", config.directories.faces);
+ var helmdir = path.join(__dirname, "..", config.directories.helms);
+ var renderdir = path.join(__dirname, "..", config.directories.renders);
+ var skindir = path.join(__dirname, "..", config.directories.skins);
fs.readdir(facesdir, function (readerr, files) {
if (!readerr) {
for (var i = 0, l = Math.min(files.length, config.cleaner.amount); i < l; i++) {
diff --git a/lib/helpers.js b/lib/helpers.js
index 9a0e577..ce2f527 100644
--- a/lib/helpers.js
+++ b/lib/helpers.js
@@ -30,9 +30,9 @@ function store_skin(rid, userId, profile, cache_details, callback) {
});
} else {
logging.log(rid, "new skin hash:", skin_hash);
- var facepath = path.join(__dirname, "..", config.directories.faces_dir, skin_hash + ".png");
- var helmpath = path.join(__dirname, "..", config.directories.helms_dir, skin_hash + ".png");
- var skinpath = path.join(__dirname, "..", config.directories.skins_dir, skin_hash + ".png");
+ var facepath = path.join(__dirname, "..", config.directories.faces, skin_hash + ".png");
+ var helmpath = path.join(__dirname, "..", config.directories.helms, skin_hash + ".png");
+ var skinpath = path.join(__dirname, "..", config.directories.skins, skin_hash + ".png");
fs.exists(facepath, function(exists) {
if (exists) {
logging.log(rid, "skin already exists, not downloading");
@@ -87,7 +87,7 @@ function store_cape(rid, userId, profile, cache_details, callback) {
});
} else {
logging.log(rid, "new cape hash:", cape_hash);
- var capepath = path.join(__dirname, "..", config.directories.capes_dir, cape_hash + ".png");
+ var capepath = path.join(__dirname, "..", config.directories.capes, cape_hash + ".png");
fs.exists(capepath, function(exists) {
if (exists) {
logging.log(rid, "cape already exists, not downloading");
@@ -223,7 +223,7 @@ exp.get_image_hash = function(rid, userId, type, callback) {
if (err) {
callback(err, -1, null);
} else {
- if (cache_details && cache_details[type] !== undefined && cache_details.time + config.caching.local_cache_time * 1000 >= Date.now()) {
+ if (cache_details && cache_details[type] !== undefined && cache_details.time + config.caching.local * 1000 >= Date.now()) {
// use cached image
logging.log(rid, "userId cached & recently updated");
callback(null, (cached_hash ? 1 : 0), cached_hash);
@@ -261,8 +261,8 @@ exp.get_image_hash = function(rid, userId, type, callback) {
exp.get_avatar = function(rid, userId, helm, size, callback) {
exp.get_image_hash(rid, userId, "skin", function(err, status, skin_hash) {
if (skin_hash) {
- var facepath = path.join(__dirname, "..", config.directories.faces_dir, skin_hash + ".png");
- var helmpath = path.join(__dirname, "..", config.directories.helms_dir, skin_hash + ".png");
+ var facepath = path.join(__dirname, "..", config.directories.faces, skin_hash + ".png");
+ var helmpath = path.join(__dirname, "..", config.directories.helms, skin_hash + ".png");
var filepath = facepath;
fs.exists(helmpath, function(exists) {
if (helm && exists) {
@@ -288,7 +288,7 @@ exp.get_avatar = function(rid, userId, helm, size, callback) {
exp.get_skin = function(rid, userId, callback) {
exp.get_image_hash(rid, userId, "skin", function(err, status, skin_hash) {
if (skin_hash) {
- var skinpath = path.join(__dirname, "..", config.directories.skins_dir, skin_hash + ".png");
+ var skinpath = path.join(__dirname, "..", config.directories.skins, skin_hash + ".png");
fs.exists(skinpath, function(exists) {
if (exists) {
logging.log(rid, "skin already exists, not downloading");
@@ -323,7 +323,7 @@ exp.get_render = function(rid, userId, scale, helm, body, callback) {
callback(err, status, skin_hash, null);
return;
}
- var renderpath = path.join(__dirname, "..", config.directories.renders_dir, [skin_hash, scale, get_type(helm, body)].join("-") + ".png");
+ var renderpath = path.join(__dirname, "..", config.directories.renders, [skin_hash, scale, get_type(helm, body)].join("-") + ".png");
fs.exists(renderpath, function(exists) {
if (exists) {
renders.open_render(rid, renderpath, function(render_err, rendered_img) {
@@ -362,7 +362,7 @@ exp.get_cape = function(rid, userId, callback) {
callback(err, null, status, null);
return;
}
- var capepath = path.join(__dirname, "..", config.directories.capes_dir, cape_hash + ".png");
+ var capepath = path.join(__dirname, "..", config.directories.capes, cape_hash + ".png");
fs.exists(capepath, function(exists) {
if (exists) {
logging.log(rid, "cape already exists, not downloading");
diff --git a/lib/response.js b/lib/response.js
index 5928fc1..fb0c921 100644
--- a/lib/response.js
+++ b/lib/response.js
@@ -39,7 +39,7 @@ module.exports = function(request, response, result) {
// These headers are the same for every response
var headers = {
"Content-Type": (result.body && result.type) || "text/plain",
- "Cache-Control": "max-age=" + config.caching.browser_cache_time + ", public",
+ "Cache-Control": "max-age=" + config.caching.browser + ", public",
"Response-Time": Date.now() - request.start,
"X-Request-ID": request.id,
"Access-Control-Allow-Origin": "*"
diff --git a/lib/views/index.jade b/lib/views/index.jade
index 6fd0679..a0a7218 100644
--- a/lib/views/index.jade
+++ b/lib/views/index.jade
@@ -324,8 +324,8 @@ block content
a(href="#meta-about-caching")
h3 About Caching
p
- | Crafatar caches skins for #{config.caching.local_cache_time/60} minutes before checking for skin changes.
- | Images are cached in your browser for #{config.caching.browser_cache_time/60} minutes until a new request to Crafatar is made.
+ | Crafatar caches skins for #{config.caching.local/60} minutes before checking for skin changes.
+ | Images are cached in your browser for #{config.caching.browser/60} minutes until a new request to Crafatar is made.
| When you changed your skin you can try clearing your browser cache to see the change faster.
diff --git a/test/test.js b/test/test.js
index fb27d22..855f6ea 100644
--- a/test/test.js
+++ b/test/test.js
@@ -227,7 +227,7 @@ describe("Crafatar", function() {
assert("" + res.headers["response-time"]);
assert(res.headers["x-request-id"]);
assert.equal(res.headers["access-control-allow-origin"], "*");
- assert.equal(res.headers["cache-control"], "max-age=" + config.caching.browser_cache_time + ", public");
+ assert.equal(res.headers["cache-control"], "max-age=" + config.caching.browser + ", public");
}
// throws Exception when +url+ is requested with +etag+
@@ -895,12 +895,12 @@ describe("Crafatar", function() {
console.log("can't run 'checked' test due to Mojang's rate limits :(");
} else {
it("should be checked", function(done) {
- var original_cache_time = config.caching.local_cache_time;
- config.caching.local_cache_time = 0;
+ var original_cache_time = config.caching.local;
+ config.caching.local = 0;
helpers.get_avatar(rid, id, false, 160, function(err, status, image) {
assert.ifError(err);
assert.strictEqual(status, 3);
- config.caching.local_cache_time = original_cache_time;
+ config.caching.local = original_cache_time;
done();
});
});