From 5d3c5250ac2d572acee8a767451ada990499dd43 Mon Sep 17 00:00:00 2001 From: RJ Johnston <293686+rjdjohnston@users.noreply.github.com> Date: Thu, 13 Feb 2025 17:06:07 -0500 Subject: [PATCH] fix: resolves Unimplemented type: 3 error for geojson format --- src/serve_data.js | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/src/serve_data.js b/src/serve_data.js index 5493ff2..908ba03 100644 --- a/src/serve_data.js +++ b/src/serve_data.js @@ -21,6 +21,7 @@ import { openMbTilesWrapper } from './mbtiles_wrapper.js'; import fs from 'node:fs'; import { fileURLToPath } from 'url'; +import zlib from 'zlib'; const packageJson = JSON.parse( fs.readFileSync( path.dirname(fileURLToPath(import.meta.url)) + '/../package.json', @@ -113,12 +114,14 @@ export const serve_data = { let headers = fetchTile.headers; let isGzipped = data.slice(0, 2).indexOf(Buffer.from([0x1f, 0x8b])) === 0; + if (isGzipped) { + data = await gunzipP(data); + isGzipped = false; + } + delete headers['Content-Encoding']; + if (tileJSONFormat === 'pbf') { if (options.dataDecoratorFunc) { - if (isGzipped) { - data = await gunzipP(data); - isGzipped = false; - } data = options.dataDecoratorFunc( req.params.id, 'data', @@ -259,8 +262,8 @@ export const serve_data = { let data = fetchTile.data; var param = { - long: bbox[0].toFixed(7), - lat: bbox[1].toFixed(7), + long: bbox[0], + lat: bbox[1], encoding, format, tile_size: TILE_SIZE,