#[non_exhaustive]pub enum BodyError {
Io(Error),
Utf8(Utf8Error),
BodyFrozen,
JsonError(Error),
SerializeForm(Error),
DeserializeForm(Error),
Other(Box<dyn Error + Send + Sync + 'static>),
}Expand description
Error type for body operations.
This enum represents all possible errors that can occur when working with HTTP body data, including I/O errors, encoding issues, serialization failures, and body state errors.
§Examples
use http_kit::BodyError;
// Handle different error types
match some_body_operation() {
Err(BodyError::BodyFrozen) => println!("Body was already consumed"),
#[cfg(feature = "json")]
Err(BodyError::JsonError(e)) => println!("JSON error: {}", e),
Err(e) => println!("Other error: {}", e),
Ok(result) => println!("Success: {:?}", result),
}Variants (Non-exhaustive)§
This enum is marked as non-exhaustive
Io(Error)
An I/O error occurred during body operations.
This typically happens when reading from streams, files, or other I/O sources.
Utf8(Utf8Error)
Invalid UTF-8 data was encountered when converting body to string.
This error occurs when trying to interpret body bytes as UTF-8 text but the bytes don’t form valid UTF-8 sequences.
BodyFrozen
The body has been consumed and cannot provide data anymore.
This is distinct from a normal empty body - it indicates that the body
was previously taken or frozen and is no longer available for operations.
This typically happens after calling take() on a body.
JsonError(Error)
JSON serialization or deserialization failed.
This error occurs when trying to convert between Rust types and JSON
using the from_json() or into_json() methods.
SerializeForm(Error)
Form data serialization failed.
This error occurs when trying to serialize a Rust type to URL-encoded form data
using the from_form() method.
DeserializeForm(Error)
Form data deserialization failed.
This error occurs when trying to deserialize URL-encoded form data
to a Rust type using the into_form() method.
Other(Box<dyn Error + Send + Sync + 'static>)
Other error types not covered by specific variants.
This is a catch-all for any other error that can occur during body operations, typically errors from underlying libraries or custom implementations.
Trait Implementations§
Source§impl Error for Error
impl Error for Error
Source§fn source(&self) -> Option<&(dyn Error + 'static)>
fn source(&self) -> Option<&(dyn Error + 'static)>
1.0.0 · Source§fn description(&self) -> &str
fn description(&self) -> &str
use the Display impl or to_string()