@@ -51,20 +51,25 @@ export const handle: Handle = async ({ event, resolve }) => {
51
51
"application/x-www-form-urlencoded" ,
52
52
"text/plain" ,
53
53
] ;
54
- if ( event . request . method === "POST" && nativeFormContentTypes . includes ( requestContentType ) ) {
55
- const referer = event . request . headers . get ( "referer" ) ;
56
54
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
+ }
60
64
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
+ ] ;
65
69
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
+ }
68
73
}
69
74
}
70
75
@@ -100,8 +105,6 @@ export const handle: Handle = async ({ event, resolve }) => {
100
105
}
101
106
}
102
107
103
- refreshSessionCookie ( event . cookies , event . locals . sessionId ) ;
104
-
105
108
let replaced = false ;
106
109
107
110
const response = await resolve ( event , {
0 commit comments