@@ -115,42 +115,45 @@ export async function defaultHandler(
115
115
return buildSuccessResponse ( result , options ?. streamCreator , etag ) ;
116
116
} catch ( e : any ) {
117
117
error ( "Failed to optimize image" , e ) ;
118
-
118
+
119
119
// Determine appropriate status code based on error
120
120
let statusCode = 500 ; // Default to 500 for unknown errors
121
121
let errorMessage = "Internal server error" ;
122
-
122
+
123
123
// Check if error has HTTP status information
124
- if ( e && typeof e === ' object' ) {
125
- if ( ' statusCode' in e && typeof e . statusCode === ' number' ) {
124
+ if ( e && typeof e === " object" ) {
125
+ if ( " statusCode" in e && typeof e . statusCode === " number" ) {
126
126
statusCode = e . statusCode ;
127
127
errorMessage = `HTTP Error: ${ statusCode } ` ;
128
- } else if ( ' code' in e ) {
128
+ } else if ( " code" in e ) {
129
129
const code = e . code as string ;
130
- if ( code === ' ENOTFOUND' || code === ' ECONNREFUSED' ) {
130
+ if ( code === " ENOTFOUND" || code === " ECONNREFUSED" ) {
131
131
statusCode = 404 ;
132
132
errorMessage = `Image not found: ${ e . message } ` ;
133
133
}
134
134
}
135
-
136
- if ( e . message && typeof e . message === ' string' ) {
135
+
136
+ if ( e . message && typeof e . message === " string" ) {
137
137
// Try to extract status codes from error messages
138
- if ( e . message . includes ( ' 403' ) || e . message . includes ( ' Access Denied' ) ) {
138
+ if ( e . message . includes ( " 403" ) || e . message . includes ( " Access Denied" ) ) {
139
139
statusCode = 403 ;
140
140
errorMessage = `Access denied: ${ e . message } ` ;
141
- } else if ( e . message . includes ( '404' ) || e . message . includes ( 'Not Found' ) ) {
141
+ } else if (
142
+ e . message . includes ( "404" ) ||
143
+ e . message . includes ( "Not Found" )
144
+ ) {
142
145
statusCode = 404 ;
143
146
errorMessage = `Image not found: ${ e . message } ` ;
144
147
} else {
145
148
errorMessage = e . message ;
146
149
}
147
150
}
148
151
}
149
-
152
+
150
153
return buildFailureResponse (
151
154
errorMessage ,
152
155
options ?. streamCreator ,
153
- statusCode
156
+ statusCode ,
154
157
) ;
155
158
}
156
159
}
@@ -298,7 +301,8 @@ async function downloadHandler(
298
301
}
299
302
// IncomingMessage is a Readable stream, not a Writable
300
303
// We need to pipe it directly to the response
301
- response . pipe ( res )
304
+ response
305
+ . pipe ( res )
302
306
. once ( "close" , ( ) => {
303
307
if ( ! res . headersSent ) {
304
308
res . statusCode = 200 ;
@@ -313,12 +317,12 @@ async function downloadHandler(
313
317
res . end ( ) ;
314
318
} ) ;
315
319
} ) ;
316
-
317
- request . on ( ' error' , ( err : NodeJS . ErrnoException ) => {
320
+
321
+ request . on ( " error" , ( err : NodeJS . ErrnoException ) => {
318
322
error ( "Failed to get image" , err ) ;
319
323
// Handle common network errors
320
- if ( err && typeof err === ' object' && ' code' in err ) {
321
- if ( err . code === ' ENOTFOUND' || err . code === ' ECONNREFUSED' ) {
324
+ if ( err && typeof err === " object" && " code" in err ) {
325
+ if ( err . code === " ENOTFOUND" || err . code === " ECONNREFUSED" ) {
322
326
res . statusCode = 404 ;
323
327
} else {
324
328
res . statusCode = 400 ;
0 commit comments