apple_search_ads/endpoints/
common.rs1use core::fmt;
2
3use http_api_client_endpoint::{
4 http::{Error as HttpError, StatusCode},
5 Body,
6};
7use serde_json::Error as SerdeJsonError;
8use url::ParseError as UrlParseError;
9
10use crate::objects::api_error_response::ApiErrorResponse;
11
12#[derive(Debug, Clone)]
14pub enum EndpointRet<T> {
15 Ok(T),
16 Other((StatusCode, Result<ApiErrorResponse, Body>)),
17}
18
19#[derive(Debug)]
21pub enum EndpointError {
22 MakeRequestUrlFailed(UrlParseError),
23 SerRequestBodyJsonFailed(SerdeJsonError),
24 MakeRequestFailed(HttpError),
25 DeResponseBodyOkJsonFailed(SerdeJsonError),
26 Other(Box<dyn std::error::Error + Send + Sync + 'static>),
27}
28
29impl fmt::Display for EndpointError {
30 fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
31 write!(f, "{self:?}")
32 }
33}
34
35impl std::error::Error for EndpointError {}