fix:extra error handling for gemini (#1268)

This commit is contained in:
Yingjie He
2025-02-18 12:57:29 -08:00
committed by GitHub
parent 7c5aaa1c75
commit d8ca7a3e1b
4 changed files with 211 additions and 44 deletions
+9 -2
View File
@@ -6,7 +6,10 @@ use std::time::Duration;
use super::base::{ConfigKey, Provider, ProviderMetadata, ProviderUsage, Usage};
use super::errors::ProviderError;
use super::utils::{emit_debug_trace, get_model, handle_response_openai_compat};
use super::utils::{
emit_debug_trace, get_model, handle_response_google_compat, handle_response_openai_compat,
is_google_model,
};
use crate::message::Message;
use crate::model::ModelConfig;
use crate::providers::formats::openai::{create_request, get_usage, response_to_message};
@@ -74,7 +77,11 @@ impl OpenRouterProvider {
.send()
.await?;
handle_response_openai_compat(response).await
if is_google_model(&payload) {
handle_response_google_compat(response).await
} else {
handle_response_openai_compat(response).await
}
}
}