use std::fmt::Debug;
use std::net::IpAddr;
use displaydoc::Display as DisplayDoc;
use thiserror::Error;
use tower::BoxError;
#[derive(Error, Debug, DisplayDoc)]
pub enum ApolloRouterError {
StartupError,
HttpServerLifecycleError,
NoConfiguration,
NoSchema,
NoLicense,
LicenseViolation,
ServiceCreationError(BoxError),
ServerCreationError(std::io::Error),
DifferentListenAddrsOnSamePort(IpAddr, IpAddr, u16),
SameRouteUsedTwice(IpAddr, u16, String),
Rustls(rustls::Error),
}