1pub mod endpoints;
2pub mod objects;
3
4use objects::error::Error;
5use reqwest::header::InvalidHeaderValue;
6
7#[derive(Debug, thiserror::Error)]
8pub enum NotionClientError {
9 #[error("Failed to serialize: {}", source)]
10 FailedToSerialize { source: serde_json::Error },
11
12 #[error("Failed to deserialize: {}, body: {}", source, body)]
13 FailedToDeserialize {
14 source: serde_json::Error,
15 body: String,
16 },
17
18 #[error("Failed to request: {}", source)]
19 FailedToRequest { source: reqwest::Error },
20
21 #[error("Failed to text: {}", source)]
22 FailedToText { source: reqwest::Error },
23
24 #[error("Failed to build request {}", source)]
25 FailedToBuildRequest { source: reqwest::Error },
26
27 #[error("Invalid status code {}({}): {}", .error.code, .error.status, .error.message)]
28 InvalidStatusCode { error: Error },
29
30 #[error("Invalid header {}", source)]
31 InvalidHeader { source: InvalidHeaderValue },
32}