try/catch around JSON parse in #getGrid.
This commit is contained in:
+10
-6
@@ -218,17 +218,21 @@ MBTiles.prototype.getGrid = function(z, x, y, callback) {
|
|||||||
: row.grid,
|
: row.grid,
|
||||||
function(err,buffer) {
|
function(err,buffer) {
|
||||||
if (err) return callback(new Error('Grid is invalid:' + err.message));
|
if (err) return callback(new Error('Grid is invalid:' + err.message));
|
||||||
var data = rows.reduce(function(memo, r) {
|
try {
|
||||||
memo[r.key_name] = JSON.parse(r.key_json);
|
var data = rows.reduce(function(memo, r) {
|
||||||
return memo;
|
memo[r.key_name] = JSON.parse(r.key_json);
|
||||||
}, {});
|
return memo;
|
||||||
var result = _(JSON.parse(buffer.toString())).extend({ data: data });
|
}, {});
|
||||||
|
var result = JSON.parse(buffer.toString());
|
||||||
|
} catch(err) {
|
||||||
|
return callback(new Error('Grid is invalid:' + err.message));
|
||||||
|
}
|
||||||
var options = {
|
var options = {
|
||||||
'Content-Type': 'text/javascript',
|
'Content-Type': 'text/javascript',
|
||||||
'Last-Modified': new Date(that._stat.mtime).toUTCString(),
|
'Last-Modified': new Date(that._stat.mtime).toUTCString(),
|
||||||
'ETag': that._stat.size + '-' + Number(that._stat.mtime)
|
'ETag': that._stat.size + '-' + Number(that._stat.mtime)
|
||||||
};
|
};
|
||||||
callback(null, result, options);
|
callback(null, _(result).extend({data:data}), options);
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
);
|
);
|
||||||
|
|||||||
Reference in New Issue
Block a user