intermodal_rs/image/docker/
errors.rs1use std::error::Error as StdError;
5use std::fmt;
6use std::result::Result;
7
8use super::client::ClientError;
9use super::reference::ReferenceError;
10
11pub type DockerImageResult<T> = Result<T, DockerImageError>;
12
13#[derive(Debug)]
14pub enum DockerImageError {
15 ClientError(String),
17
18 ReferenceError(String),
20
21 TransportError(String),
23
24 SourceError(String),
26
27 GenericError(String),
29}
30
31impl StdError for DockerImageError {}
32
33impl fmt::Display for DockerImageError {
34 fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
35 match *self {
36 DockerImageError::ClientError(ref msg) => write!(f, "Docker Client Error ({})", msg),
37 DockerImageError::ReferenceError(ref msg) => {
38 write!(f, "Docker Reference Error ({})", msg)
39 }
40 DockerImageError::TransportError(ref msg) => {
41 write!(f, "Docker Transport Error ({})", msg)
42 }
43 DockerImageError::SourceError(ref msg) => write!(f, "Docker Source Error ({})", msg),
44 DockerImageError::GenericError(ref msg) => write!(f, "Docker Generic Error ({})", msg),
45 }
46 }
47}
48
49impl From<ClientError> for DockerImageError {
50 fn from(e: ClientError) -> Self {
51 DockerImageError::ClientError(format!("{}", e))
52 }
53}
54
55impl From<ReferenceError> for DockerImageError {
56 fn from(e: ReferenceError) -> Self {
57 DockerImageError::ReferenceError(format!("{}", e))
58 }
59}