cloud_hypervisor_client/apis/
mod.rs1use std::fmt;
2use std::fmt::Debug;
3
4use hyper;
5use hyper::http;
6use hyper_util::client::legacy::connect::Connect;
7use serde_json;
8
9#[derive(thiserror::Error, Debug)]
10pub enum Error {
11 #[error("ApiError: {0:?}")]
12 Api(ApiError),
13 #[error("InvalidHeaderValue: {0}")]
14 Header(http::header::InvalidHeaderValue),
15 #[error("Http: {0}")]
16 Http(http::Error),
17 #[error("Hyper: {0}")]
18 Hyper(hyper::Error),
19 #[error("HyperClient: {0}")]
20 HyperClient(hyper_util::client::legacy::Error),
21 #[error("serde_json::Error: {0}")]
22 Serde(serde_json::Error),
23 #[error("InvalidUri: {0}")]
24 UriError(http::uri::InvalidUri),
25}
26
27pub struct ApiError {
28 pub code: hyper::StatusCode,
29 pub body: String,
30}
31
32impl Debug for ApiError {
33 fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
34 f.debug_struct("ApiError")
35 .field("code", &self.code)
36 .field("body", &self.body)
37 .finish()
38 }
39}
40
41impl From<(hyper::StatusCode, String)> for Error {
42 fn from(e: (hyper::StatusCode, String)) -> Self {
43 Error::Api(ApiError {
44 code: e.0,
45 body: e.1,
46 })
47 }
48}
49
50impl From<http::Error> for Error {
51 fn from(e: http::Error) -> Self {
52 Error::Http(e)
53 }
54}
55
56impl From<hyper_util::client::legacy::Error> for Error {
57 fn from(e: hyper_util::client::legacy::Error) -> Self {
58 Error::HyperClient(e)
59 }
60}
61
62impl From<hyper::Error> for Error {
63 fn from(e: hyper::Error) -> Self {
64 Error::Hyper(e)
65 }
66}
67
68impl From<serde_json::Error> for Error {
69 fn from(e: serde_json::Error) -> Self {
70 Error::Serde(e)
71 }
72}
73
74mod request;
75
76mod default_api;
77pub use self::default_api::{DefaultApi, DefaultApiClient};
78
79pub mod client;
80pub mod configuration;