Fix for magic.json handling
authorJack Allnutt <jack@allnutt.eu>
Wed, 24 Jul 2013 18:58:03 +0000 (19:58 +0100)
committerJack Allnutt <jack@allnutt.eu>
Wed, 24 Jul 2013 18:58:03 +0000 (19:58 +0100)
server/httphandler.js

index 7a6ca85b3dd05b2437b4feed3e936ee9336b91ed..6e497b70dd6e55f8dc50bbcf02382c4cbf3cc17f 100644 (file)
@@ -54,13 +54,12 @@ HttpHandler.prototype.serve = function (request, response) {
 };
 
 var serveMagicLocale = function (request, response) {
+    var that = this;
     if (request.headers['accept-language']) {
-        // Example: en-gb,en;q=0.5
-        langs = request.headers['accept-language'].split(',');
         fs.readdir('client/assets/locales', function (err, files) {
             var available = [],
                 i = 0,
-                langs = [];
+                langs = request.headers['accept-language'].split(','); // Example: en-gb,en;q=0.5
 
             files.forEach(function (file) {
                 if (file.substr(-5) === '.json') {
@@ -79,12 +78,12 @@ var serveMagicLocale = function (request, response) {
                 if (langs[i][0] === '*') {
                     break;
                 } else if (_.contains(available, langs[i][0])) {
-                    return this.file_server.serveFile('/assets/locales/' + langs[i][0] + '.json', 200, {Vary: 'Accept-Language', 'Content-Language': langs[i][0]}, request, response);
+                    return that.file_server.serveFile('/assets/locales/' + langs[i][0] + '.json', 200, {Vary: 'Accept-Language', 'Content-Language': langs[i][0]}, request, response);
                 }
             }
         });
     }
-    
+
     //en-gb is our default language, so we serve this as the last possible answer for everything
     return this.file_server.serveFile('/assets/locales/en-gb.json', 200, {Vary: 'Accept-Language', 'Content-Language': 'en-gb'}, request, response);
 };