@@ -7,7 +7,7 @@ const fragmentHostInitialization = ({ content, classNames }: {content: string; c
7
7
8
8
export function getPagesMiddleware (
9
9
gateway : FragmentGateway ,
10
- devMode : boolean ,
10
+ mode : "production" | "development" = "development"
11
11
) : PagesFunction < unknown > {
12
12
return async ( { request, next } ) => {
13
13
/**
@@ -74,23 +74,25 @@ export function getPagesMiddleware(
74
74
let fragmentRes : Response ;
75
75
let fragmentFailedResOrError : Response | unknown | null = null ;
76
76
try {
77
- fragmentRes = scriptRewriter . transform ( await fetch ( fragmentReq ) ) ;
78
- if ( fragmentRes . status >= 400 && fragmentRes . status <= 500 ) {
79
- fragmentFailedResOrError = fragmentRes ;
77
+ const response = await fetch ( fragmentReq ) ;
78
+ if ( response . status >= 400 && response . status <= 599 ) {
79
+ fragmentFailedResOrError = response ;
80
+ } else {
81
+ fragmentRes = scriptRewriter . transform ( response ) ;
80
82
}
81
83
} catch ( e ) {
82
84
fragmentFailedResOrError = e ;
83
85
}
84
86
85
87
if ( fragmentFailedResOrError ) {
86
- if ( matchedFragment . onFragmentFailedFetch ) {
87
- fragmentRes = await matchedFragment . onFragmentFailedFetch (
88
+ if ( matchedFragment . onSsrFetchError ) {
89
+ fragmentRes = await matchedFragment . onSsrFetchError (
88
90
fragmentReq ,
89
91
fragmentFailedResOrError
90
92
) ;
91
93
} else {
92
94
fragmentRes = new Response (
93
- devMode
95
+ mode === 'development'
94
96
? `<p>Fetching fragment upstream failed: ${ matchedFragment . upstream } </p>`
95
97
: "<p>There was a problem fulfilling your request.</p>" ,
96
98
{ headers : [ [ "content-type" , "text/html" ] ] }
0 commit comments