oauth1_twitter/endpoints/
common.rs

1use http_api_client_endpoint::{
2    http::{Error as HttpError, StatusCode},
3    Body,
4};
5use reqwest::Error as ReqwestError;
6use reqwest_oauth1::SignerError as ReqwestOauth1SignerError;
7use serde_json::Error as SerdeJsonError;
8use serde_urlencoded::de::Error as SerdeUrlencodedDeError;
9
10use crate::objects::response_body_fail::ResponseBodyFail;
11
12//
13#[derive(Debug, Clone)]
14pub enum EndpointRet<T> {
15    Ok(T),
16    Other((StatusCode, Result<ResponseBodyFail, Body>)),
17}
18
19//
20#[derive(Debug)]
21pub enum EndpointError {
22    MakeReqwestRequestBuilderFailed(ReqwestOauth1SignerError),
23    MakeReqwestRequestFailed(ReqwestError),
24    MakeRequestFailed(HttpError),
25    DeResponseBodyOkFailed(SerdeUrlencodedDeError),
26    DeResponseBodyOkJsonFailed(SerdeJsonError),
27    Other(Box<dyn std::error::Error + Send + Sync + 'static>),
28}
29
30impl core::fmt::Display for EndpointError {
31    fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result {
32        write!(f, "{self:?}")
33    }
34}
35
36impl std::error::Error for EndpointError {}