unsplash_api/endpoints/
common.rs1use std::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::ResponseBodyErrJson;
11
12#[derive(Debug, Clone)]
13pub enum EndpointRet<T>
14where
15 T: fmt::Debug + Clone,
16{
17 Ok(T),
18 RateLimitIsReached,
19 Other((StatusCode, Result<ResponseBodyErrJson, Body>)),
20}
21
22#[derive(thiserror::Error, Debug)]
23pub enum EndpointError {
24 #[error("MakeRequestUrlFailed {0}")]
25 MakeRequestUrlFailed(UrlParseError),
26 #[error("MakeRequestFailed {0}")]
27 MakeRequestFailed(HttpError),
28 #[error("DeResponseBodyOkJsonFailed {0}")]
29 DeResponseBodyOkJsonFailed(SerdeJsonError),
30}