mirror of
https://github.com/protomaps/PMTiles.git
synced 2026-02-04 10:51:07 +00:00
Moved CORS headers up to include non-200 responses
This commit is contained in:
@@ -60,12 +60,17 @@ def lambda_handler(event, context):
|
||||
pmtiles_path(os.environ.get("PMTILES_PATH"), name), offset, length
|
||||
)
|
||||
|
||||
headers = {}
|
||||
|
||||
if "CORS" in os.environ:
|
||||
headers["Access-Control-Allow-Origin"] = os.environ.get("CORS")
|
||||
|
||||
reader = Reader(get_bytes)
|
||||
try:
|
||||
minzoom = int(reader.header().metadata["minzoom"])
|
||||
maxzoom = int(reader.header().metadata["maxzoom"])
|
||||
if tile.z < minzoom or tile.z > maxzoom:
|
||||
return {"statusCode": 404, "body": "Tile not found"}
|
||||
return {"statusCode": 404, "headers": headers, "body": "Tile not found"}
|
||||
|
||||
tile_data = reader.get(tile.z, tile.x, tile.y)
|
||||
if not tile_data:
|
||||
@@ -73,16 +78,11 @@ def lambda_handler(event, context):
|
||||
except ClientError as e:
|
||||
error_code = e.response["Error"]["Code"]
|
||||
if error_code == "AccessDenied":
|
||||
return {"statusCode": 404, "body": "Archive not found"}
|
||||
return {"statusCode": 404, "headers": headers, "body": "Archive not found"}
|
||||
else:
|
||||
raise e
|
||||
|
||||
headers = {
|
||||
"Content-Type": "application/protobuf",
|
||||
}
|
||||
|
||||
if "CORS" in os.environ:
|
||||
headers["Access-Control-Allow-Origin"] = os.environ.get("CORS")
|
||||
headers["Content-Type"] = "application/protobuf"
|
||||
|
||||
if reader.header().metadata.get("compression") == "gzip":
|
||||
if is_api_gateway:
|
||||
|
||||
Reference in New Issue
Block a user