fix: improve configure process with error message (#919)

This commit is contained in:
Yingjie He
2025-01-29 20:45:25 -08:00
committed by GitHub
parent ccd1427624
commit a420e20ca4
5 changed files with 36 additions and 29 deletions
+3 -2
View File
@@ -86,9 +86,10 @@ impl GoogleProvider {
Status: {}. Response: {:?}", status, payload )))
}
StatusCode::BAD_REQUEST => {
let mut error_msg = "Unknown error".to_string();
if let Some(payload) = &payload {
if let Some(error) = payload.get("error") {
let error_msg = error.get("message").and_then(|m| m.as_str()).unwrap_or("Unknown error");
error_msg = error.get("message").and_then(|m| m.as_str()).unwrap_or("Unknown error").to_string();
let error_status = error.get("status").and_then(|s| s.as_str()).unwrap_or("Unknown status");
if error_status == "INVALID_ARGUMENT" && error_msg.to_lowercase().contains("exceeds") {
return Err(ProviderError::ContextLengthExceeded(error_msg.to_string()));
@@ -98,7 +99,7 @@ impl GoogleProvider {
tracing::debug!(
"{}", format!("Provider request failed with status: {}. Payload: {:?}", status, payload)
);
Err(ProviderError::RequestFailed(format!("Request failed with status: {}", status)))
Err(ProviderError::RequestFailed(format!("Request failed with status: {}. Message: {}", status, error_msg)))
}
StatusCode::TOO_MANY_REQUESTS => {
Err(ProviderError::RateLimitExceeded(format!("{:?}", payload)))