missing public_url in tiles urls
This commit is contained in:
parent
47ff33166d
commit
dc6be5047c
4 changed files with 18 additions and 14 deletions
|
@ -18,7 +18,7 @@ try {
|
||||||
|
|
||||||
var utils = require('./utils');
|
var utils = require('./utils');
|
||||||
|
|
||||||
module.exports = function(options, repo, params, id, styles) {
|
module.exports = function(options, repo, params, id, styles, publicUrl) {
|
||||||
var app = express().disable('x-powered-by');
|
var app = express().disable('x-powered-by');
|
||||||
|
|
||||||
var mbtilesFile = path.resolve(options.paths.mbtiles, params.mbtiles);
|
var mbtilesFile = path.resolve(options.paths.mbtiles, params.mbtiles);
|
||||||
|
@ -170,7 +170,7 @@ module.exports = function(options, repo, params, id, styles) {
|
||||||
app.get('/' + id + '.json', function(req, res, next) {
|
app.get('/' + id + '.json', function(req, res, next) {
|
||||||
var info = clone(tileJSON);
|
var info = clone(tileJSON);
|
||||||
info.tiles = utils.getTileUrls(req, info.tiles,
|
info.tiles = utils.getTileUrls(req, info.tiles,
|
||||||
'data/' + id, info.format, {
|
'data/' + id, info.format, publicUrl, {
|
||||||
'pbf': options.pbfAlias
|
'pbf': options.pbfAlias
|
||||||
});
|
});
|
||||||
return res.send(info);
|
return res.send(info);
|
||||||
|
|
|
@ -97,7 +97,7 @@ function createEmptyResponse(format, color, callback) {
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
module.exports = function(options, repo, params, id, dataResolver) {
|
module.exports = function(options, repo, params, id, publicUrl, dataResolver) {
|
||||||
var app = express().disable('x-powered-by');
|
var app = express().disable('x-powered-by');
|
||||||
|
|
||||||
var maxScaleFactor = Math.min(Math.floor(options.maxScaleFactor || 3), 9);
|
var maxScaleFactor = Math.min(Math.floor(options.maxScaleFactor || 3), 9);
|
||||||
|
@ -736,7 +736,7 @@ module.exports = function(options, repo, params, id, dataResolver) {
|
||||||
app.get('/' + id + '.json', function(req, res, next) {
|
app.get('/' + id + '.json', function(req, res, next) {
|
||||||
var info = clone(tileJSON);
|
var info = clone(tileJSON);
|
||||||
info.tiles = utils.getTileUrls(req, info.tiles,
|
info.tiles = utils.getTileUrls(req, info.tiles,
|
||||||
'styles/' + id, info.format);
|
'styles/' + id, info.format, publicUrl);
|
||||||
return res.send(info);
|
return res.send(info);
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|
|
@ -145,7 +145,7 @@ function start(opts) {
|
||||||
if (item.serve_rendered !== false) {
|
if (item.serve_rendered !== false) {
|
||||||
if (serve_rendered) {
|
if (serve_rendered) {
|
||||||
startupPromises.push(
|
startupPromises.push(
|
||||||
serve_rendered(options, serving.rendered, item, id,
|
serve_rendered(options, serving.rendered, item, id, opts.publicUrl,
|
||||||
function(mbtiles) {
|
function(mbtiles) {
|
||||||
var mbtilesFile;
|
var mbtilesFile;
|
||||||
Object.keys(data).forEach(function(id) {
|
Object.keys(data).forEach(function(id) {
|
||||||
|
@ -179,7 +179,7 @@ function start(opts) {
|
||||||
}
|
}
|
||||||
|
|
||||||
startupPromises.push(
|
startupPromises.push(
|
||||||
serve_data(options, serving.data, item, id, serving.styles).then(function(sub) {
|
serve_data(options, serving.data, item, id, serving.styles, opts.publicUrl).then(function(sub) {
|
||||||
app.use('/data/', sub);
|
app.use('/data/', sub);
|
||||||
})
|
})
|
||||||
);
|
);
|
||||||
|
@ -210,7 +210,7 @@ function start(opts) {
|
||||||
} else {
|
} else {
|
||||||
path = type + '/' + id;
|
path = type + '/' + id;
|
||||||
}
|
}
|
||||||
info.tiles = utils.getTileUrls(req, info.tiles, path, info.format, {
|
info.tiles = utils.getTileUrls(req, info.tiles, path, info.format, opts.publicUrl, {
|
||||||
'pbf': options.pbfAlias
|
'pbf': options.pbfAlias
|
||||||
});
|
});
|
||||||
arr.push(info);
|
arr.push(info);
|
||||||
|
@ -299,7 +299,7 @@ function start(opts) {
|
||||||
|
|
||||||
var tiles = utils.getTileUrls(
|
var tiles = utils.getTileUrls(
|
||||||
req, style.serving_rendered.tiles,
|
req, style.serving_rendered.tiles,
|
||||||
'styles/' + id, style.serving_rendered.format);
|
'styles/' + id, style.serving_rendered.format, opts.publicUrl);
|
||||||
style.xyz_link = tiles[0];
|
style.xyz_link = tiles[0];
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
@ -327,7 +327,7 @@ function start(opts) {
|
||||||
'data/' + id + '.json' + query) + '/wmts';
|
'data/' + id + '.json' + query) + '/wmts';
|
||||||
|
|
||||||
var tiles = utils.getTileUrls(
|
var tiles = utils.getTileUrls(
|
||||||
req, data_.tiles, 'data/' + id, data_.format, {
|
req, data_.tiles, 'data/' + id, data_.format, opts.publicUrl, {
|
||||||
'pbf': options.pbfAlias
|
'pbf': options.pbfAlias
|
||||||
});
|
});
|
||||||
data_.xyz_link = tiles[0];
|
data_.xyz_link = tiles[0];
|
||||||
|
|
14
src/utils.js
14
src/utils.js
|
@ -11,7 +11,7 @@ module.exports.getPublicUrl = function(publicUrl, req) {
|
||||||
return publicUrl || (req.protocol + '://' + req.headers.host + '/')
|
return publicUrl || (req.protocol + '://' + req.headers.host + '/')
|
||||||
}
|
}
|
||||||
|
|
||||||
module.exports.getTileUrls = function(req, domains, path, format, aliases) {
|
module.exports.getTileUrls = function(req, domains, path, format, publicUrl, aliases) {
|
||||||
|
|
||||||
if (domains) {
|
if (domains) {
|
||||||
if (domains.constructor === String && domains.length > 0) {
|
if (domains.constructor === String && domains.length > 0) {
|
||||||
|
@ -54,10 +54,14 @@ module.exports.getTileUrls = function(req, domains, path, format, aliases) {
|
||||||
}
|
}
|
||||||
|
|
||||||
var uris = [];
|
var uris = [];
|
||||||
domains.forEach(function(domain) {
|
if (!publicUrl) {
|
||||||
uris.push(req.protocol + '://' + domain + '/' + path +
|
domains.forEach(function(domain) {
|
||||||
'/{z}/{x}/{y}.' + format + query);
|
uris.push(req.protocol + '://' + domain + '/' + path +
|
||||||
});
|
'/{z}/{x}/{y}.' + format + query);
|
||||||
|
});
|
||||||
|
} else {
|
||||||
|
uris.push(publicUrl + path + '/{z}/{x}/{y}.' + format + query)
|
||||||
|
}
|
||||||
|
|
||||||
return uris;
|
return uris;
|
||||||
};
|
};
|
||||||
|
|
Loading…
Reference in a new issue