twitter_api_v1/endpoints/
common.rs1use reqwest::{Error as ReqwestError, StatusCode};
2use reqwest_oauth1::Error as ReqwestOauth1Error;
3use serde_json::Error as SerdeJsonError;
4
5use crate::objects::ResponseBodyErrJson;
6
7#[derive(Debug, Clone)]
9#[non_exhaustive]
10pub enum EndpointRet<T> {
11 Ok(T),
12 Other((StatusCode, Result<ResponseBodyErrJson, Vec<u8>>)),
13}
14
15#[derive(Debug)]
17pub enum EndpointError {
18 ValidateFailed(String),
19 RespondFailed(ReqwestOauth1Error),
20 ReadResponseBodyFailed(ReqwestError),
21 DeResponseBodyOkJsonFailed(SerdeJsonError),
22 DeV2ResponseBodyOkJsonFailed(SerdeJsonError),
24 ConvertV2ResponseBodyOkJsonFailed(String),
25 #[cfg(feature = "with_tokio_fs")]
27 GetFileInfoFailed(std::io::Error),
28 #[cfg(feature = "with_tokio_fs")]
29 OpenFileFailed(std::io::Error),
30}
31impl core::fmt::Display for EndpointError {
32 fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result {
33 write!(f, "{self:?}")
34 }
35}
36impl std::error::Error for EndpointError {}