allow status code 200 for gh pages

This commit is contained in:
Brandon Liu
2021-03-31 15:15:06 +08:00
parent 2df2ee5508
commit 568ae4fe7f
2 changed files with 4 additions and 3 deletions

View File

@@ -18,7 +18,7 @@
<div id="map"></div>
<script>
const map = L.map('map',{maxZoom:4}).setView([0,0],0)
const p = new pmtiles.PMTiles('osm_carto.pmtiles')
const p = new pmtiles.PMTiles('osm_carto.pmtiles',{allow_200:true})
p.leafletLayer({attribution:'© <a href="https://openstreetmap.org">OpenStreetMap</a> contributors'}).addTo(map)
</script>
</body>

View File

@@ -40,10 +40,11 @@
}
class PMTiles {
constructor(url) {
constructor(url, options) {
this.url = url
this.root = fetch(this.url,{method:'HEAD',headers:{Range:'bytes=0-511999'}}).then(resp => {
if (resp.status == 206) { // this does not work on Azure, it returns 200 instead of 206
// for servers like Azure, GH Pages which return 200 instead of 206
if (resp.status == 206 || (resp.status == 200 && options.allow_200)) {
console.log("Check succeeded: server supports byte ranges")
return fetch(this.url,{headers:{Range:'bytes=0-511999'}}).then(resp => {
return resp.arrayBuffer()