diff --git a/serverless/cloudflare/worker.ts b/serverless/cloudflare/worker.ts index 5eeb44a..3eb2b1f 100644 --- a/serverless/cloudflare/worker.ts +++ b/serverless/cloudflare/worker.ts @@ -7,7 +7,7 @@ interface Env { interface CacheEntry { lastUsed: number; - buffer: DataView; + buffer: Promise; } export class LRUCache { @@ -29,18 +29,17 @@ export class LRUCache { let val = this.entries.get(cacheKey); if (val) { val.lastUsed = this.counter++; - return [true, val.buffer]; + return [true, new DataView(await val.buffer)]; } let resp = await bucket.get(key, { range: { offset: offset, length: length }, }); - let a = await (resp as R2ObjectBody).arrayBuffer(); - let d = new DataView(a); + let a = (resp as R2ObjectBody).arrayBuffer(); this.entries.set(cacheKey, { lastUsed: this.counter++, - buffer: d, + buffer: a, }); if (this.entries.size > 128) { let minUsed = Infinity; @@ -54,7 +53,7 @@ export class LRUCache { if (minKey) this.entries.delete(minKey); } - return [false, d]; + return [false, new DataView(await a)]; } }