@@ -17,7 +17,13 @@ const { URLSearchParams, URL } = require('url')
17
17
18
18
const { Bridge } = require ( '@vercel/node-bridge/bridge' )
19
19
20
- const { augmentFsModule, getMaxAge, getMultiValueHeaders, getNextServer } = require ( './handlerUtils' )
20
+ const {
21
+ augmentFsModule,
22
+ getMaxAge,
23
+ getMultiValueHeaders,
24
+ getPrefetchResponse,
25
+ getNextServer,
26
+ } = require ( './handlerUtils' )
21
27
/* eslint-enable @typescript-eslint/no-var-requires */
22
28
23
29
type Mutable < T > = {
@@ -90,6 +96,10 @@ const makeHandler = (conf: NextConfig, app, pageRoot, staticManifest: Array<[str
90
96
91
97
return async function handler ( event : HandlerEvent , context : HandlerContext ) {
92
98
let requestMode = mode
99
+ const prefetchResponse = getPrefetchResponse ( event , mode )
100
+ if ( prefetchResponse ) {
101
+ return prefetchResponse
102
+ }
93
103
// Ensure that paths are encoded - but don't double-encode them
94
104
event . path = new URL ( event . rawUrl ) . pathname
95
105
// Next expects to be able to parse the query from the URL
@@ -164,7 +174,7 @@ export const getHandler = ({ isODB = false, publishDir = '../../../.next', appDi
164
174
const { promises } = require ( "fs" ) ;
165
175
// We copy the file here rather than requiring from the node module
166
176
const { Bridge } = require ( "./bridge" ) ;
167
- const { augmentFsModule, getMaxAge, getMultiValueHeaders, getNextServer } = require ( './handlerUtils' )
177
+ const { augmentFsModule, getMaxAge, getMultiValueHeaders, getPrefetchResponse , getNextServer } = require ( './handlerUtils' )
168
178
169
179
${ isODB ? `const { builder } = require("@netlify/functions")` : '' }
170
180
const { config } = require ( "${ publishDir } /required-server-files.json" )
0 commit comments