@@ -17,7 +17,13 @@ const { URLSearchParams, URL } = require('url')
1717
1818const { Bridge } = require ( '@vercel/node-bridge/bridge' )
1919
20- const { augmentFsModule, getMaxAge, getMultiValueHeaders, getNextServer } = require ( './handlerUtils' )
20+ const {
21+ augmentFsModule,
22+ getMaxAge,
23+ getMultiValueHeaders,
24+ getPrefetchResponse,
25+ getNextServer,
26+ } = require ( './handlerUtils' )
2127/* eslint-enable @typescript-eslint/no-var-requires */
2228
2329type Mutable < T > = {
@@ -90,6 +96,10 @@ const makeHandler = (conf: NextConfig, app, pageRoot, staticManifest: Array<[str
9096
9197 return async function handler ( event : HandlerEvent , context : HandlerContext ) {
9298 let requestMode = mode
99+ const prefetchResponse = getPrefetchResponse ( event , mode )
100+ if ( prefetchResponse ) {
101+ return prefetchResponse
102+ }
93103 // Ensure that paths are encoded - but don't double-encode them
94104 event . path = new URL ( event . rawUrl ) . pathname
95105 // Next expects to be able to parse the query from the URL
@@ -164,7 +174,7 @@ export const getHandler = ({ isODB = false, publishDir = '../../../.next', appDi
164174 const { promises } = require ( "fs" ) ;
165175 // We copy the file here rather than requiring from the node module
166176 const { Bridge } = require ( "./bridge" ) ;
167- const { augmentFsModule, getMaxAge, getMultiValueHeaders, getNextServer } = require ( './handlerUtils' )
177+ const { augmentFsModule, getMaxAge, getMultiValueHeaders, getPrefetchResponse , getNextServer } = require ( './handlerUtils' )
168178
169179 ${ isODB ? `const { builder } = require("@netlify/functions")` : '' }
170180 const { config } = require ( "${ publishDir } /required-server-files.json" )
0 commit comments