Add rustdoc comments to all public items
Document all public structs, enums, traits, functions, fields, and variants across the library. Adds crate-level documentation with a usage example, module-level docs, and API reference links where applicable. Also fixes four bare URL warnings in existing doc comments.
This commit is contained in:
20
src/error.rs
20
src/error.rs
@@ -1,21 +1,39 @@
|
||||
//! Error types for the Google Gemini client.
|
||||
|
||||
use std::fmt::Display;
|
||||
use tokio_util::codec::LinesCodecError;
|
||||
|
||||
use crate::types;
|
||||
|
||||
/// A type alias for `Result<T, error::Error>`.
|
||||
pub type Result<T> = std::result::Result<T, Error>;
|
||||
|
||||
/// Errors that can occur when using the Gemini client.
|
||||
#[derive(Debug)]
|
||||
pub enum Error {
|
||||
/// An environment variable required for configuration was missing or invalid.
|
||||
Env(std::env::VarError),
|
||||
/// An HTTP transport error from the underlying `reqwest` client.
|
||||
HttpClient(reqwest::Error),
|
||||
/// A JSON serialization or deserialization error.
|
||||
Serde(serde_json::Error),
|
||||
/// A structured error returned by the Vertex AI API.
|
||||
VertexError(types::VertexApiError),
|
||||
/// A structured error returned by the Gemini API.
|
||||
GeminiError(types::GeminiApiError),
|
||||
/// The API response contained no candidate completions.
|
||||
NoCandidatesError,
|
||||
/// An error occurred while decoding the SSE event stream.
|
||||
EventSourceError(LinesCodecError),
|
||||
/// The SSE event stream closed unexpectedly.
|
||||
EventSourceClosedError,
|
||||
GenericApiError { status: u16, body: String },
|
||||
/// An API error that could not be parsed into a structured error type.
|
||||
GenericApiError {
|
||||
/// The HTTP status code.
|
||||
status: u16,
|
||||
/// The raw response body.
|
||||
body: String,
|
||||
},
|
||||
}
|
||||
|
||||
impl Display for Error {
|
||||
|
||||
Reference in New Issue
Block a user