Skip to content

Commit b1c120f

Browse files
authored
Only refresh cookie on post (#606)
1 parent c51eb83 commit b1c120f

File tree

1 file changed

+16
-13
lines changed

1 file changed

+16
-13
lines changed

src/hooks.server.ts

Lines changed: 16 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -51,20 +51,25 @@ export const handle: Handle = async ({ event, resolve }) => {
5151
"application/x-www-form-urlencoded",
5252
"text/plain",
5353
];
54-
if (event.request.method === "POST" && nativeFormContentTypes.includes(requestContentType)) {
55-
const referer = event.request.headers.get("referer");
5654

57-
if (!referer) {
58-
return errorResponse(403, "Non-JSON form requests need to have a referer");
59-
}
55+
if (event.request.method === "POST") {
56+
refreshSessionCookie(event.cookies, event.locals.sessionId);
57+
58+
if (nativeFormContentTypes.includes(requestContentType)) {
59+
const referer = event.request.headers.get("referer");
60+
61+
if (!referer) {
62+
return errorResponse(403, "Non-JSON form requests need to have a referer");
63+
}
6064

61-
const validOrigins = [
62-
new URL(event.request.url).origin,
63-
...(PUBLIC_ORIGIN ? [new URL(PUBLIC_ORIGIN).origin] : []),
64-
];
65+
const validOrigins = [
66+
new URL(event.request.url).origin,
67+
...(PUBLIC_ORIGIN ? [new URL(PUBLIC_ORIGIN).origin] : []),
68+
];
6569

66-
if (!validOrigins.includes(new URL(referer).origin)) {
67-
return errorResponse(403, "Invalid referer for POST request");
70+
if (!validOrigins.includes(new URL(referer).origin)) {
71+
return errorResponse(403, "Invalid referer for POST request");
72+
}
6873
}
6974
}
7075

@@ -100,8 +105,6 @@ export const handle: Handle = async ({ event, resolve }) => {
100105
}
101106
}
102107

103-
refreshSessionCookie(event.cookies, event.locals.sessionId);
104-
105108
let replaced = false;
106109

107110
const response = await resolve(event, {

0 commit comments

Comments
 (0)