fixed tile render endpoint to work correctly with requests from the tileserver

This commit is contained in:
Jenny Danzmayr 2023-12-22 00:29:55 +01:00
parent 4d97af63b3
commit 0e50f9ab3a

View file

@ -1,6 +1,7 @@
import base64 import base64
import os import os
from shutil import rmtree from shutil import rmtree
from typing import Optional
from wsgiref.util import FileWrapper from wsgiref.util import FileWrapper
from django.conf import settings from django.conf import settings
@ -48,7 +49,7 @@ def enforce_tile_secret_auth(request):
@no_language() @no_language()
def tile(request, level, zoom, x, y, access_permissions=None): def tile(request, level, zoom, x, y, access_permissions: Optional[set] = None):
if access_permissions is not None: if access_permissions is not None:
enforce_tile_secret_auth(request) enforce_tile_secret_auth(request)
elif settings.TILE_CACHE_SERVER: elif settings.TILE_CACHE_SERVER:
@ -84,7 +85,7 @@ def tile(request, level, zoom, x, y, access_permissions=None):
access_permissions = parse_tile_access_cookie(cookie, settings.SECRET_TILE_KEY) access_permissions = parse_tile_access_cookie(cookie, settings.SECRET_TILE_KEY)
access_permissions &= set(level_data.restrictions[minx:maxx, miny:maxy]) access_permissions &= set(level_data.restrictions[minx:maxx, miny:maxy])
else: else:
access_permissions = set(int(i) for i in access_permissions.split('-')) - {0} access_permissions = access_permissions - {0}
# build cache keys # build cache keys
last_update = level_data.history.last_update(minx, miny, maxx, maxy) last_update = level_data.history.last_update(minx, miny, maxx, maxy)