diff --git a/crates/goose/src/providers/utils.rs b/crates/goose/src/providers/utils.rs index 0ed31e40658c..667323f46edd 100644 --- a/crates/goose/src/providers/utils.rs +++ b/crates/goose/src/providers/utils.rs @@ -98,7 +98,7 @@ pub fn map_http_error_to_provider_error( StatusCode::TOO_MANY_REQUESTS => { ProviderError::RateLimitExceeded(format!("{:?}", payload)) } - StatusCode::INTERNAL_SERVER_ERROR | StatusCode::SERVICE_UNAVAILABLE => { + _ if status.is_server_error() => { ProviderError::ServerError(format!("{:?}", payload)) } _ => { @@ -243,8 +243,8 @@ pub async fn handle_response_google_compat(response: Response) -> Result { - Err(ProviderError::RateLimitExceeded(format!("{:?}", payload))) + _ if final_status.is_server_error() => { + Err(ProviderError::ServerError(format!("{:?}", payload))) } StatusCode::INTERNAL_SERVER_ERROR | StatusCode::SERVICE_UNAVAILABLE => { Err(ProviderError::ServerError(format!("{:?}", payload)))