Skip to main content

libdd_common/connector/
errors.rs

1// Copyright 2021-Present Datadog, Inc. https://www.datadoghq.com/
2// SPDX-License-Identifier: Apache-2.0
3
4use std::error;
5use std::fmt;
6
7#[derive(Clone, Debug, PartialEq, Eq)]
8pub enum Error {
9    InvalidUrl,
10    OperationTimedOut,
11    UnixSocketUnsupported,
12    CannotEstablishTlsConnection,
13    NoValidCertifacteRootsFound,
14    WindowsNamedPipeUnsupported,
15}
16
17impl fmt::Display for Error {
18    fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
19        f.write_str(match self {
20            Self::InvalidUrl => "invalid url",
21            Self::OperationTimedOut => "operation timed out",
22            Self::UnixSocketUnsupported => "unix sockets unsuported on windows",
23            Self::CannotEstablishTlsConnection => {
24                "cannot establish requested secure TLS connection"
25            }
26            Self::NoValidCertifacteRootsFound => {
27                "missing or not valid system HTTPS/TLS certificate roots"
28            }
29            Self::WindowsNamedPipeUnsupported => "windows named pipes unsupported",
30        })
31    }
32}
33
34impl error::Error for Error {}