forward zlib decompression errors instead of failing hard
This commit is contained in:
+15
-10
@@ -231,16 +231,21 @@ MBTiles.prototype.grid = function(x, y, z, callback) {
|
|||||||
function(err, row, rows) {
|
function(err, row, rows) {
|
||||||
if (err) return callback(err);
|
if (err) return callback(err);
|
||||||
if (!row || !row.grid) return callback('Grid does not exist');
|
if (!row || !row.grid) return callback('Grid does not exist');
|
||||||
var grid = zlib.inflate(
|
|
||||||
!Buffer.isBuffer(row.grid)
|
try {
|
||||||
? new Buffer(row.grid, 'binary')
|
var grid = zlib.inflate(
|
||||||
: row.grid
|
!Buffer.isBuffer(row.grid)
|
||||||
).toString();
|
? new Buffer(row.grid, 'binary')
|
||||||
var data = rows.reduce(function(memo, r) {
|
: row.grid
|
||||||
memo[r.key_name] = JSON.parse(r.key_json);
|
).toString();
|
||||||
return memo;
|
var data = rows.reduce(function(memo, r) {
|
||||||
}, {});
|
memo[r.key_name] = JSON.parse(r.key_json);
|
||||||
callback(null, _(JSON.parse(grid)).extend({ data: data }));
|
return memo;
|
||||||
|
}, {});
|
||||||
|
callback(null, _(JSON.parse(grid)).extend({ data: data }));
|
||||||
|
} catch(err) {
|
||||||
|
callback(err);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
);
|
);
|
||||||
};
|
};
|
||||||
|
|||||||
Reference in New Issue
Block a user