diff --git a/serverless/aws/.gitignore b/serverless/aws/.gitignore index 1521c8b..db4c6d9 100644 --- a/serverless/aws/.gitignore +++ b/serverless/aws/.gitignore @@ -1 +1,2 @@ dist +node_modules \ No newline at end of file diff --git a/serverless/aws/src/index.ts b/serverless/aws/src/index.ts index 1f99c7f..3194d23 100644 --- a/serverless/aws/src/index.ts +++ b/serverless/aws/src/index.ts @@ -232,9 +232,9 @@ export const handlerRaw = async ( data = tilePostprocess(data, header.tileType); } - headers["Cache-Control"] = `public, max-age=${ - process.env.CACHE_MAX_AGE || 86400 - }`; + headers["Cache-Control"] = + process.env.CACHE_CONTROL || "public, max-age=86400"; + headers.ETag = `"${createHash("sha256") .update(Buffer.from(data)) .digest("hex")}"`; diff --git a/serverless/cloudflare/src/index.ts b/serverless/cloudflare/src/index.ts index 925d354..c9f15b3 100644 --- a/serverless/cloudflare/src/index.ts +++ b/serverless/cloudflare/src/index.ts @@ -15,7 +15,7 @@ interface Env { // biome-ignore lint: config name BUCKET: R2Bucket; // biome-ignore lint: config name - CACHE_MAX_AGE?: number; + CACHE_CONTROL?: string; // biome-ignore lint: config name PMTILES_PATH?: string; // biome-ignore lint: config name @@ -134,8 +134,9 @@ export default { ) => { cacheableHeaders.set( "Cache-Control", - `max-age=${env.CACHE_MAX_AGE || 86400}` + env.CACHE_CONTROL || "public, max-age=86400" ); + const cacheable = new Response(body, { headers: cacheableHeaders, status: status, diff --git a/serverless/cloudflare/wrangler.toml.example b/serverless/cloudflare/wrangler.toml.example index b604401..7ebb25b 100644 --- a/serverless/cloudflare/wrangler.toml.example +++ b/serverless/cloudflare/wrangler.toml.example @@ -9,4 +9,4 @@ r2_buckets = [ [vars] # ALLOWED_ORIGINS = "http://localhost:8000" -# CACHE_MAX_AGE = 86400 \ No newline at end of file +# CACHE_CONTROL = "public, max-age=86400" \ No newline at end of file