From b93bc5fadcadea9f6075212365291b041c0a4239 Mon Sep 17 00:00:00 2001 From: Petr Sloup Date: Tue, 14 Mar 2017 15:50:14 +0100 Subject: [PATCH 01/70] Support for handling relative subdomain patterns --- src/utils.js | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/src/utils.js b/src/utils.js index 4b6d66f..52fdfef 100644 --- a/src/utils.js +++ b/src/utils.js @@ -13,6 +13,23 @@ module.exports.getTileUrls = function(req, domains, path, format, aliases) { if (domains.constructor === String && domains.length > 0) { domains = domains.split(','); } + var host = req.headers.host; + var hostParts = host.split('.'); + var relativeSubdomainsUsable = hostParts.length > 1 && + !/^([0-9]{1,3}\.){3}[0-9]{1,3}(\:[0-9]+)?$/.test(host); + var newDomains = []; + domains.forEach(function(domain) { + if (domain.indexOf('*') !== -1) { + if (relativeSubdomainsUsable) { + var newParts = hostParts.slice(1); + newParts.unshift(domain.replace('*', hostParts[0])); + newDomains.push(newParts.join('.')); + } + } else { + newDomains.push(domain); + } + }); + domains = newDomains; } if (!domains || domains.length == 0) { domains = [req.headers.host]; From 37386bfb295d4c89010c0377954ced502dcd4083 Mon Sep 17 00:00:00 2001 From: Petr Sloup Date: Tue, 14 Mar 2017 16:02:54 +0100 Subject: [PATCH 02/70] Hide empty headers on index (close #125) --- public/templates/index.tmpl | 144 ++++++++++++++++++------------------ src/server.js | 4 +- 2 files changed, 76 insertions(+), 72 deletions(-) diff --git a/public/templates/index.tmpl b/public/templates/index.tmpl index c7c12fd..c6bbecb 100644 --- a/public/templates/index.tmpl +++ b/public/templates/index.tmpl @@ -19,85 +19,89 @@

TileServer GL

Vector {{#if is_light}}and raster{{else}}and raster{{/if}} maps with GL styles

-

Styles

-
- {{#each styles}} -
- {{#if thumbnail}} - {{name}} preview - {{else}} - {{name}} preview - {{/if}} -
-

{{name}}

-

identifier: {{@key}}

-

- services: + {{#if styles}} +

Styles

+
+ {{#each styles}} +
+ {{#if thumbnail}} + {{name}} preview + {{else}} + {{name}} preview + {{/if}} +
+

{{name}}

+

identifier: {{@key}}

+

+ services: + {{#if serving_data}} + GL Style + {{/if}} + {{#if serving_rendered}} + {{#if serving_data}}| {{/if}}TileJSON + {{/if}} + {{#if wmts_link}} + | WMTS + {{/if}} + {{#if xyz_link}} + | XYZ + + {{/if}} +

+
+
{{#if serving_data}} - GL Style + {{#if serving_rendered}} + Viewer + {{/if}} {{/if}} {{#if serving_rendered}} - {{#if serving_data}}| {{/if}}TileJSON + Raster {{/if}} - {{#if wmts_link}} - | WMTS + {{#if serving_data}} + Vector {{/if}} - {{#if xyz_link}} - | XYZ - - {{/if}} -

-
-
- {{#if serving_data}} - {{#if serving_rendered}} - Viewer - {{/if}} - {{/if}} - {{#if serving_rendered}} - Raster - {{/if}} - {{#if serving_data}} - Vector - {{/if}} +
+ {{/each}}
- {{/each}} -
-

Data

-
- {{#each data}} -
- {{#if thumbnail}} - {{name}} preview - {{else}} - {{name}} preview - {{/if}} -
-

{{name}}

-

identifier: {{@key}}{{#if formatted_filesize}} | size: {{formatted_filesize}}{{/if}} | type: {{#is_vector}}vector{{/is_vector}}{{^is_vector}}raster{{/is_vector}} data

-

- services: TileJSON - {{#if wmts_link}} - | WMTS - {{/if}} - {{#if xyz_link}} - | XYZ - - {{/if}} -

-
-
- {{#is_vector}} - Inspect - {{/is_vector}} - {{^is_vector}} - View - {{/is_vector}} + {{/if}} + {{#if data}} +

Data

+
+ {{#each data}} +
+ {{#if thumbnail}} + {{name}} preview + {{else}} + {{name}} preview + {{/if}} +
+

{{name}}

+

identifier: {{@key}}{{#if formatted_filesize}} | size: {{formatted_filesize}}{{/if}} | type: {{#is_vector}}vector{{/is_vector}}{{^is_vector}}raster{{/is_vector}} data

+

+ services: TileJSON + {{#if wmts_link}} + | WMTS + {{/if}} + {{#if xyz_link}} + | XYZ + + {{/if}} +

+
+
+ {{#is_vector}} + Inspect + {{/is_vector}} + {{^is_vector}} + View + {{/is_vector}} +
+ {{/each}}
- {{/each}} -
+ {{/if}}