updating to replace request with axios
This commit is contained in:
parent
8045a336f4
commit
44f3b42274
2 changed files with 31 additions and 33 deletions
|
@ -40,7 +40,7 @@
|
|||
"pbf": "3.2.1",
|
||||
"pmtiles": "2.11.0",
|
||||
"proj4": "2.9.2",
|
||||
"request": "2.88.2",
|
||||
"axios": "1.5.1",
|
||||
"sanitize-filename": "1.6.3",
|
||||
"sharp": "0.32.6",
|
||||
"tileserver-gl-styles": "2.0.0"
|
||||
|
|
|
@ -17,7 +17,7 @@ import mlgl from '@maplibre/maplibre-gl-native';
|
|||
import MBTiles from '@mapbox/mbtiles';
|
||||
import polyline from '@mapbox/polyline';
|
||||
import proj4 from 'proj4';
|
||||
import request from 'request';
|
||||
import axios from 'axios';
|
||||
import {
|
||||
getFontsPbf,
|
||||
getTileUrls,
|
||||
|
@ -1353,37 +1353,35 @@ export const serve_rendered = {
|
|||
});
|
||||
}
|
||||
} else if (protocol === 'http' || protocol === 'https') {
|
||||
request(
|
||||
{
|
||||
url: req.url,
|
||||
encoding: null,
|
||||
gzip: true,
|
||||
},
|
||||
(err, res, body) => {
|
||||
const parts = url.parse(req.url);
|
||||
const extension = path.extname(parts.pathname).toLowerCase();
|
||||
const format = extensionToFormat[extension] || '';
|
||||
if (err || res.statusCode < 200 || res.statusCode >= 300) {
|
||||
// console.log('HTTP error', err || res.statusCode);
|
||||
createEmptyResponse(format, '', callback);
|
||||
return;
|
||||
}
|
||||
|
||||
const response = {};
|
||||
if (res.headers.modified) {
|
||||
response.modified = new Date(res.headers.modified);
|
||||
}
|
||||
if (res.headers.expires) {
|
||||
response.expires = new Date(res.headers.expires);
|
||||
}
|
||||
if (res.headers.etag) {
|
||||
response.etag = res.headers.etag;
|
||||
}
|
||||
|
||||
response.data = body;
|
||||
callback(null, response);
|
||||
},
|
||||
);
|
||||
try {
|
||||
const response = await axios.get(req.url, {
|
||||
responseType: 'arraybuffer', // Get the response as raw buffer
|
||||
// Axios handles gzip by default, so no need for a gzip flag
|
||||
});
|
||||
|
||||
const responseHeaders = response.headers;
|
||||
const responseData = response.data;
|
||||
|
||||
const parsedResponse = {};
|
||||
if (responseHeaders['last-modified']) {
|
||||
parsedResponse.modified = new Date(responseHeaders['last-modified']);
|
||||
}
|
||||
if (responseHeaders.expires) {
|
||||
parsedResponse.expires = new Date(responseHeaders.expires);
|
||||
}
|
||||
if (responseHeaders.etag) {
|
||||
parsedResponse.etag = responseHeaders.etag;
|
||||
}
|
||||
|
||||
parsedResponse.data = responseData;
|
||||
callback(null, parsedResponse);
|
||||
|
||||
} catch (error) {
|
||||
const parts = url.parse(req.url);
|
||||
const extension = path.extname(parts.pathname).toLowerCase();
|
||||
const format = extensionToFormat[extension] || '';
|
||||
createEmptyResponse(format, '', callback);
|
||||
}
|
||||
}
|
||||
},
|
||||
});
|
||||
|
|
Loading…
Reference in a new issue