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