fix: improve error probing in OpenAI and DeepSeek providers

This commit is contained in:
2026-03-05 19:20:35 +00:00
parent d0d64e2064
commit c26925c253
2 changed files with 14 additions and 4 deletions

View File

@@ -231,8 +231,12 @@ impl super::Provider for DeepSeekProvider {
tracing::debug!("Offending DeepSeek Request Body: {}", serde_json::to_string(&probe_body).unwrap_or_default()); tracing::debug!("Offending DeepSeek Request Body: {}", serde_json::to_string(&probe_body).unwrap_or_default());
Err(AppError::ProviderError(format!("DeepSeek API error ({}): {}", status, error_body)))?; Err(AppError::ProviderError(format!("DeepSeek API error ({}): {}", status, error_body)))?;
} }
_ => { Ok(_) => {
Err(AppError::ProviderError(format!("Stream error: {}", e)))?; Err(AppError::ProviderError(format!("Stream error (probe returned 200): {}", e)))?;
}
Err(probe_err) => {
tracing::error!("DeepSeek Stream Error Probe failed: {}", probe_err);
Err(AppError::ProviderError(format!("Stream error (probe failed: {}): {}", probe_err, e)))?;
} }
} }
} }

View File

@@ -351,8 +351,14 @@ impl super::Provider for OpenAIProvider {
tracing::debug!("Offending OpenAI Request Body: {}", serde_json::to_string(&probe_body).unwrap_or_default()); tracing::debug!("Offending OpenAI Request Body: {}", serde_json::to_string(&probe_body).unwrap_or_default());
Err(AppError::ProviderError(format!("OpenAI API error ({}): {}", status, error_body)))?; Err(AppError::ProviderError(format!("OpenAI API error ({}): {}", status, error_body)))?;
} }
_ => { Ok(_) => {
Err(AppError::ProviderError(format!("Stream error: {}", e)))?; // Probe returned success? This is unexpected if the original stream failed.
Err(AppError::ProviderError(format!("Stream error (probe returned 200): {}", e)))?;
}
Err(probe_err) => {
// Probe itself failed
tracing::error!("OpenAI Stream Error Probe failed: {}", probe_err);
Err(AppError::ProviderError(format!("Stream error (probe failed: {}): {}", probe_err, e)))?;
} }
} }
} }