remove logging statements. when getting tile urls, use the new keyName option

This commit is contained in:
Joseph Canero 2017-10-03 17:24:07 -04:00
parent 8519b3c5dd
commit 095c175572
5 changed files with 23 additions and 39 deletions

View file

@ -172,7 +172,7 @@ module.exports = function(options, repo, params, id, styles) {
info.tiles = utils.getTileUrls(req, info.tiles, info.tiles = utils.getTileUrls(req, info.tiles,
'data/' + id, info.format, { 'data/' + id, info.format, {
'pbf': options.pbfAlias 'pbf': options.pbfAlias
}); }, options);
return res.send(info); return res.send(info);
}); });

View file

@ -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, null, options);
return res.send(info); return res.send(info);
}); });

View file

@ -85,8 +85,6 @@ module.exports = function (options, repo, params, id, reportTiles, reportFont) {
app.get('/' + id + '/style.json', function (req, res, next) { app.get('/' + id + '/style.json', function (req, res, next) {
var fixUrl = function (url, opt_nokey, opt_nostyle) { var fixUrl = function (url, opt_nokey, opt_nostyle) {
console.log("URL:", url);
console.log("current options:", options);
if (!url || (typeof url !== 'string') || (url.indexOf('local://') !== 0 && !isWhitelistedUrl(url))) { if (!url || (typeof url !== 'string') || (url.indexOf('local://') !== 0 && !isWhitelistedUrl(url))) {
return url; return url;
} }
@ -99,33 +97,19 @@ module.exports = function (options, repo, params, id, reportTiles, reportFont) {
queryParams[options.auth.keyName] = req.query[options.auth.keyName]; queryParams[options.auth.keyName] = req.query[options.auth.keyName];
} }
console.log("params:", queryParams);
if (url.indexOf('local://') === 0) { if (url.indexOf('local://') === 0) {
var query = querystring.stringify(queryParams); var query = querystring.stringify(queryParams);
if (query.length) { if (query.length) {
query = '?' + query; query = '?' + query;
} }
console.log(url.replace(
'local://', req.protocol + '://' + req.headers.host + '/') + query);
return url.replace( return url.replace(
'local://', req.protocol + '://' + req.headers.host + '/') + query; 'local://', req.protocol + '://' + req.headers.host + '/') + query;
} else { // whitelisted url. might have existing parameters } else { // whitelisted url. might have existing parameters
var parsedUrl = nodeUrl.parse(url); var parsedUrl = nodeUrl.parse(url);
console.log("parsed url:", parsedUrl);
var parsedQS = querystring.parse(url.query); var parsedQS = querystring.parse(url.query);
console.log("parsedQS:", parsedQS);
var newParams = Object.assign(parsedQS, queryParams); var newParams = Object.assign(parsedQS, queryParams);
parsedUrl.search = querystring.unescape(querystring.stringify(parsedQS));
console.log("newParams:", newParams);
parsedUrl.search = querystring.stringify(parsedQS);
console.log("new parsed url:", parsedUrl);
console.log(nodeUrl.format(parsedUrl));
return nodeUrl.format(parsedUrl); return nodeUrl.format(parsedUrl);
} }
}; };

View file

@ -219,7 +219,7 @@ function start(opts) {
} }
info.tiles = utils.getTileUrls(req, info.tiles, path, info.format, { info.tiles = utils.getTileUrls(req, info.tiles, path, info.format, {
'pbf': options.pbfAlias 'pbf': options.pbfAlias
}); }, options);
arr.push(info); arr.push(info);
}); });
return arr; return arr;
@ -305,7 +305,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, null, options);
style.xyz_link = tiles[0]; style.xyz_link = tiles[0];
} }
}); });
@ -335,7 +335,7 @@ function start(opts) {
var tiles = utils.getTileUrls( var tiles = utils.getTileUrls(
req, data_.tiles, 'data/' + id, data_.format, { req, data_.tiles, 'data/' + id, data_.format, {
'pbf': options.pbfAlias 'pbf': options.pbfAlias
}); }, options);
data_.xyz_link = tiles[0]; data_.xyz_link = tiles[0];
} }
if (data_.filesize) { if (data_.filesize) {

View file

@ -1,12 +1,12 @@
'use strict'; 'use strict';
var path = require('path'), var path = require('path'),
fs = require('fs'); fs = require('fs');
var clone = require('clone'), var clone = require('clone'),
glyphCompose = require('glyph-pbf-composite'); glyphCompose = require('glyph-pbf-composite');
module.exports.getTileUrls = function(req, domains, path, format, aliases) { module.exports.getTileUrls = function (req, domains, path, format, aliases, options) {
if (domains) { if (domains) {
if (domains.constructor === String && domains.length > 0) { if (domains.constructor === String && domains.length > 0) {
@ -15,9 +15,9 @@ module.exports.getTileUrls = function(req, domains, path, format, aliases) {
var host = req.headers.host; var host = req.headers.host;
var hostParts = host.split('.'); var hostParts = host.split('.');
var relativeSubdomainsUsable = hostParts.length > 1 && var relativeSubdomainsUsable = hostParts.length > 1 &&
!/^([0-9]{1,3}\.){3}[0-9]{1,3}(\:[0-9]+)?$/.test(host); !/^([0-9]{1,3}\.){3}[0-9]{1,3}(\:[0-9]+)?$/.test(host);
var newDomains = []; var newDomains = [];
domains.forEach(function(domain) { domains.forEach(function (domain) {
if (domain.indexOf('*') !== -1) { if (domain.indexOf('*') !== -1) {
if (relativeSubdomainsUsable) { if (relativeSubdomainsUsable) {
var newParts = hostParts.slice(1); var newParts = hostParts.slice(1);
@ -36,8 +36,8 @@ module.exports.getTileUrls = function(req, domains, path, format, aliases) {
var key = req.query.key; var key = req.query.key;
var queryParams = []; var queryParams = [];
if (req.query.key) { if (req.query[options.auth.keyName]) {
queryParams.push('key=' + req.query.key); queryParams.push(options.auth.keyName + '=' + req.query);
} }
if (req.query.style) { if (req.query.style) {
queryParams.push('style=' + req.query.style); queryParams.push('style=' + req.query.style);
@ -49,15 +49,15 @@ module.exports.getTileUrls = function(req, domains, path, format, aliases) {
} }
var uris = []; var uris = [];
domains.forEach(function(domain) { domains.forEach(function (domain) {
uris.push(req.protocol + '://' + domain + '/' + path + uris.push(req.protocol + '://' + domain + '/' + path +
'/{z}/{x}/{y}.' + format + query); '/{z}/{x}/{y}.' + format + query);
}); });
return uris; return uris;
}; };
module.exports.fixTileJSONCenter = function(tileJSON) { module.exports.fixTileJSONCenter = function (tileJSON) {
if (tileJSON.bounds && !tileJSON.center) { if (tileJSON.bounds && !tileJSON.center) {
var fitWidth = 1024; var fitWidth = 1024;
var tiles = fitWidth / 256; var tiles = fitWidth / 256;
@ -72,15 +72,15 @@ module.exports.fixTileJSONCenter = function(tileJSON) {
} }
}; };
var getFontPbf = function(allowedFonts, fontPath, name, range, fallbacks) { var getFontPbf = function (allowedFonts, fontPath, name, range, fallbacks) {
return new Promise(function(resolve, reject) { return new Promise(function (resolve, reject) {
if (!allowedFonts || (allowedFonts[name] && fallbacks)) { if (!allowedFonts || (allowedFonts[name] && fallbacks)) {
var filename = path.join(fontPath, name, range + '.pbf'); var filename = path.join(fontPath, name, range + '.pbf');
if (!fallbacks) { if (!fallbacks) {
fallbacks = clone(allowedFonts || {}); fallbacks = clone(allowedFonts || {});
} }
delete fallbacks[name]; delete fallbacks[name];
fs.readFile(filename, function(err, data) { fs.readFile(filename, function (err, data) {
if (err) { if (err) {
console.error('ERROR: Font not found:', name); console.error('ERROR: Font not found:', name);
if (fallbacks && Object.keys(fallbacks).length) { if (fallbacks && Object.keys(fallbacks).length) {
@ -101,17 +101,17 @@ var getFontPbf = function(allowedFonts, fontPath, name, range, fallbacks) {
}); });
}; };
module.exports.getFontsPbf = function(allowedFonts, fontPath, names, range, fallbacks) { module.exports.getFontsPbf = function (allowedFonts, fontPath, names, range, fallbacks) {
var fonts = names.split(','); var fonts = names.split(',');
var queue = []; var queue = [];
fonts.forEach(function(font) { fonts.forEach(function (font) {
queue.push( queue.push(
getFontPbf(allowedFonts, fontPath, font, range, clone(allowedFonts || fallbacks)) getFontPbf(allowedFonts, fontPath, font, range, clone(allowedFonts || fallbacks))
); );
}); });
return new Promise(function(resolve, reject) { return new Promise(function (resolve, reject) {
Promise.all(queue).then(function(values) { Promise.all(queue).then(function (values) {
return resolve(glyphCompose.combine(values)); return resolve(glyphCompose.combine(values));
}, reject); }, reject);
}); });