File tree Expand file tree Collapse file tree 4 files changed +24
-2
lines changed
Expand file tree Collapse file tree 4 files changed +24
-2
lines changed Original file line number Diff line number Diff line change @@ -77,6 +77,18 @@ export function defineCloudflareConfig(config: CloudflareOverrides = {}): OpenNe
7777 dangerous : {
7878 enableCacheInterception,
7979 } ,
80+ middleware : {
81+ external : true ,
82+ override : {
83+ wrapper : "cloudflare-edge" ,
84+ converter : "edge" ,
85+ proxyExternalRequest : "fetch" ,
86+ incrementalCache : resolveIncrementalCache ( incrementalCache ) ,
87+ tagCache : resolveTagCache ( tagCache ) ,
88+ queue : resolveQueue ( queue ) ,
89+ cdnInvalidation : resolveCdnInvalidation ( cachePurge ) ,
90+ }
91+ }
8092 } ;
8193}
8294
Original file line number Diff line number Diff line change @@ -22,7 +22,7 @@ export function ensureCloudflareConfig(config: OpenNextConfig) {
2222 config . default ?. override ?. queue === "dummy" ||
2323 config . default ?. override ?. queue === "direct" ||
2424 typeof config . default ?. override ?. queue === "function" ,
25- mwIsMiddlewareIntegrated : config . middleware === undefined ,
25+ // mwIsMiddlewareIntegrated: config.middleware === undefined,
2626 hasCryptoExternal : config . edgeExternals ?. includes ( "node:crypto" ) ,
2727 } ;
2828
Original file line number Diff line number Diff line change @@ -96,6 +96,7 @@ function initRuntime() {
9696 Request : CustomRequest ,
9797 __BUILD_TIMESTAMP_MS__ : __BUILD_TIMESTAMP_MS__ ,
9898 __NEXT_BASE_PATH__ : __NEXT_BASE_PATH__ ,
99+ __dangerous_ON_edge_converter_returns_request : true ,
99100 } ) ;
100101}
101102
Original file line number Diff line number Diff line change 11//@ts -expect-error: Will be resolved by wrangler build
22import { runWithCloudflareRequestContext } from "./cloudflare/init.js" ;
3+ // @ts -expect-error: Will be resolved by wrangler build
4+ import { handler as middlewareHandler } from "./middleware/handler.mjs" ;
35
46//@ts -expect-error: Will be resolved by wrangler build
57export { DOQueueHandler } from "./.build/durable-objects/queue.js" ;
@@ -32,10 +34,17 @@ export default {
3234 : fetch ( imageUrl , { cf : { cacheEverything : true } } ) ;
3335 }
3436
37+ // - `Request`s are handled by the Next server
38+ const reqOrResp = await middlewareHandler ( request , env , ctx ) ;
39+
40+ if ( reqOrResp instanceof Response ) {
41+ return reqOrResp ;
42+ }
43+
3544 // @ts -expect-error: resolved by wrangler build
3645 const { handler } = await import ( "./server-functions/default/handler.mjs" ) ;
3746
38- return handler ( request , env , ctx ) ;
47+ return handler ( reqOrResp , env , ctx ) ;
3948 } ) ;
4049 } ,
4150} satisfies ExportedHandler < CloudflareEnv > ;
You can’t perform that action at this time.
0 commit comments