#[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.