diff --git a/src/handlers/handlerUtils.ts b/src/handlers/handlerUtils.ts index be27751ac..e48b4185a 100644 --- a/src/handlers/handlerUtils.ts +++ b/src/handlers/handlerUtils.ts @@ -795,53 +795,35 @@ export async function tryTargetsRecursively( // tryPost always returns a Response. // TypeError will check for all unhandled exceptions. // GatewayError will check for all handled exceptions which cannot allow the request to proceed. - if ( - error instanceof TypeError || - error instanceof GatewayError || - !error.response || - (error.response && !(error.response instanceof Response)) - ) { - console.error( - 'tryTargetsRecursively error: ', - error.message, - error.cause, - error.stack - ); - const errorMessage = - error instanceof GatewayError - ? error.message - : 'Something went wrong'; - response = new Response( - JSON.stringify({ - status: 'failure', - message: errorMessage, - }), - { - status: 500, - headers: { - 'content-type': 'application/json', - // Add this header so that the fallback loop can be interrupted if its an exception. - 'x-portkey-gateway-exception': 'true', - }, - } - ); - } else { - response = error.response; - if (isHandlingCircuitBreaker) { - await c.get('recordCircuitBreakerFailure')?.( - env(c), - currentInheritedConfig.id, - currentTarget.cbConfig, - currentJsonPath, - response.status - ); + console.error( + 'tryTargetsRecursively error: ', + error.message, + error.cause, + error.stack + ); + const errorMessage = + error instanceof GatewayError + ? error.message + : 'Something went wrong'; + response = new Response( + JSON.stringify({ + status: 'failure', + message: errorMessage, + }), + { + status: 500, + headers: { + 'content-type': 'application/json', + // Add this header so that the fallback loop can be interrupted if its an exception. + 'x-portkey-gateway-exception': 'true', + }, } - } + ); } break; } - return response; + return response!; } export function constructConfigFromRequestHeaders( diff --git a/src/handlers/services/responseService.ts b/src/handlers/services/responseService.ts index 72acbd34c..63eb73f66 100644 --- a/src/handlers/services/responseService.ts +++ b/src/handlers/services/responseService.ts @@ -62,13 +62,6 @@ export class ResponseService { this.updateHeaders(finalMappedResponse, cache.cacheStatus, retryAttempt); - if (!finalMappedResponse.ok) { - const errorObj: any = new Error(await finalMappedResponse.clone().text()); - errorObj.status = finalMappedResponse.status; - errorObj.response = finalMappedResponse; - throw errorObj; - } - return { response: finalMappedResponse, responseJson,