Skip to content

Commit fdbbb5f

Browse files
authored
fix(handleCacheHeaders): round modifiedTime to seconds (#1262)
1 parent 1ec9c94 commit fdbbb5f

File tree

2 files changed

+16
-0
lines changed

2 files changed

+16
-0
lines changed

src/utils/cache.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,7 @@ export function handleCacheHeaders(
2525

2626
if (opts.modifiedTime) {
2727
const modifiedTime = new Date(opts.modifiedTime);
28+
modifiedTime.setMilliseconds(0);
2829
const ifModifiedSince = event.req.headers.get("if-modified-since");
2930
event.res.headers.set("last-modified", modifiedTime.toUTCString());
3031
if (ifModifiedSince && new Date(ifModifiedSince) >= modifiedTime) {

test/utils.test.ts

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -376,5 +376,20 @@ describeMatrix("utils", (t, { it, describe, expect }) => {
376376
});
377377
expect(res.status).toBe(304);
378378
});
379+
380+
it("handles modifiedTime with milliseconds correctly", async () => {
381+
t.app.use((event) => {
382+
handleCacheHeaders(event, {
383+
modifiedTime: new Date("2021-01-01T00:00:00.500Z"),
384+
});
385+
return "ok";
386+
});
387+
const res = await t.fetch("/", {
388+
headers: {
389+
"if-modified-since": "Fri, 01 Jan 2021 00:00:00 GMT",
390+
},
391+
});
392+
expect(res.status).toBe(304);
393+
});
379394
});
380395
});

0 commit comments

Comments
 (0)