fix /style/id.json with next('route')

Co-Authored-By: Andrew Calcutt <acalcutt@techidiots.net>
This commit is contained in:
acalcutt 2024-12-30 00:22:14 -05:00
parent 4c6f379f4e
commit 592e74c303

View file

@ -445,33 +445,40 @@ async function start(opts) {
try { try {
const content = fs.readFileSync(templateFile, 'utf-8'); const content = fs.readFileSync(templateFile, 'utf-8');
const compiled = handlebars.compile(content.toString()); const compiled = handlebars.compile(content.toString());
app.get(urlPath, (req, res) => { app.get(urlPath, (req, res, next) => {
console.log(`Serving template at path: ${urlPath}`); if (opts.verbose) {
console.log(`Serving template at path: ${urlPath}`);
}
let data = {}; let data = {};
if (dataGetter) { if (dataGetter) {
data = dataGetter(req); data = dataGetter(req);
if (!data) { if (data) {
console.error(`Data getter for ${template} returned null`); data['server_version'] =
return res.status(404).send('Not found'); `${packageJson.name} v${packageJson.version}`;
data['public_url'] = opts.publicUrl || '/';
data['is_light'] = isLight;
data['key_query_part'] = req.query.key
? `key=${encodeURIComponent(req.query.key)}&amp;`
: '';
data['key_query'] = req.query.key
? `?key=${encodeURIComponent(req.query.key)}`
: '';
if (template === 'wmts') res.set('Content-Type', 'text/xml');
return res.status(200).send(compiled(data));
} else {
if (opts.verbose) {
console.log(`Forwarding request for: ${urlPath} to next route`);
}
next('route');
} }
} }
data['server_version'] = `${packageJson.name} v${packageJson.version}`;
data['public_url'] = opts.publicUrl || '/';
data['is_light'] = isLight;
data['key_query_part'] = req.query.key
? `key=${encodeURIComponent(req.query.key)}&amp;`
: '';
data['key_query'] = req.query.key
? `?key=${encodeURIComponent(req.query.key)}`
: '';
if (template === 'wmts') res.set('Content-Type', 'text/xml');
return res.status(200).send(compiled(data));
}); });
} catch (err) { } catch (err) {
console.error(`Error reading template file: ${templateFile}`, err); console.error(`Error reading template file: ${templateFile}`, err);
throw new Error(`Template not found: ${err.message}`); //throw an error so that the server doesnt start throw new Error(`Template not found: ${err.message}`); //throw an error so that the server doesnt start
} }
} }
serveTemplate('/', 'index', (req) => { serveTemplate('/', 'index', (req) => {
let styles = {}; let styles = {};
for (const id of Object.keys(serving.styles || {})) { for (const id of Object.keys(serving.styles || {})) {