unstructured_client/
error.rs

1use std::result::Result as BaseResult;
2use thiserror::Error;
3
4#[derive(Debug, Error)]
5pub enum ClientError {
6    #[error("Network error: {0}")]
7    RequestFailed(#[from] reqwest::Error),
8
9    #[error("Failed to parse URL: {0}")]
10    URLParseFailed(String),
11
12    #[error("Text extraction failed: {0}")]
13    ExtractionFailed(String),
14
15    #[error("Metadata field not present: {0}")]
16    MetadataFieldNotPresent(String),
17
18    #[error("Unauthorized access: {0}")]
19    Unauthorized(String),
20
21    #[error("Service unavailable: {0}")]
22    ServiceUnavailable(String),
23
24    #[error("File IO error: {0}")]
25    FileIOError(String),
26
27    #[error("Timeout occurred")]
28    Timeout,
29
30    #[error("Unexpected response from service: {0}")]
31    UnexpectedResponse(String),
32
33    #[error("IO error: {0}")]
34    Io(#[from] std::io::Error),
35
36    #[error("Other error: {0}")]
37    Other(String),
38}
39
40pub type Result<T> = BaseResult<T, ClientError>;