Revert "cloudflare worker: cache holds promises instead of buffers"

see errors related to "The script will never generate a response."

This reverts commit e0402ded7f.
This commit is contained in:
Brandon Liu
2022-07-21 10:19:34 +08:00
parent 1db1836365
commit 95b1f90a04

View File

@@ -7,7 +7,7 @@ interface Env {
interface CacheEntry {
lastUsed: number;
buffer: Promise<ArrayBuffer>;
buffer: DataView;
}
export class LRUCache {
@@ -29,17 +29,18 @@ export class LRUCache {
let val = this.entries.get(cacheKey);
if (val) {
val.lastUsed = this.counter++;
return [true, new DataView(await val.buffer)];
return [true, val.buffer];
}
let resp = await bucket.get(key, {
range: { offset: offset, length: length },
});
let a = (resp as R2ObjectBody).arrayBuffer();
let a = await (resp as R2ObjectBody).arrayBuffer();
let d = new DataView(a);
this.entries.set(cacheKey, {
lastUsed: this.counter++,
buffer: a,
buffer: d,
});
if (this.entries.size > 128) {
let minUsed = Infinity;
@@ -53,7 +54,7 @@ export class LRUCache {
if (minKey) this.entries.delete(minKey);
}
return [false, new DataView(await a)];
return [false, d];
}
}