actrpc-orchestrator 0.1.0

Configuration and orchestration utilities for ActRPC.
Documentation
use crate::method::ProviderName;
use std::path::PathBuf;

#[non_exhaustive]
#[derive(Debug, thiserror::Error)]
pub enum ConfigError {
    #[error("no config paths were provided")]
    NoConfigPaths,

    #[error("failed to read config file {path}: {source}")]
    Read {
        path: PathBuf,
        #[source]
        source: std::io::Error,
    },

    #[error("unsupported config file format for {path}")]
    UnsupportedFormat { path: PathBuf },

    #[error("failed to deserialize TOML config {path}: {source}")]
    DeserializeToml {
        path: PathBuf,
        #[source]
        source: toml::de::Error,
    },

    #[error("failed to deserialize YAML config {path}: {source}")]
    DeserializeYaml {
        path: PathBuf,
        #[source]
        source: serde_yaml::Error,
    },

    #[error("duplicate method provider config: {name}")]
    DuplicateMethodProvider { name: ProviderName },

    #[error("duplicate interceptor config: {name}")]
    DuplicateInterceptor { name: String },
}