dfx_core/error/
network_config.rs1use crate::error::config::{ConfigError, GetSharedWalletConfigPathError, GetTempPathError};
2use crate::error::fs::ReadToStringError;
3use crate::error::get_user_home::GetUserHomeError;
4use crate::error::socket_addr_conversion::SocketAddrConversionError;
5use crate::error::structured_file::StructuredFileError;
6use crate::error::uri::UriError;
7use candid::types::principal::PrincipalError;
8use std::num::ParseIntError;
9use std::path::PathBuf;
10use thiserror::Error;
11
12#[derive(Error, Debug)]
13pub enum NetworkConfigError {
14 #[error(transparent)]
15 ReadToString(#[from] ReadToStringError),
16
17 #[error(transparent)]
18 Config(#[from] ConfigError),
19
20 #[error(transparent)]
21 DetermineSharedNetworkDirectoryFailed(#[from] GetUserHomeError),
22
23 #[error(transparent)]
24 UriError(#[from] UriError),
25
26 #[error("Failed to get replica endpoint for network '{network_name}'")]
27 GettingReplicaUrlsFailed {
28 network_name: String,
29 source: UriError,
30 },
31
32 #[error(transparent)]
33 GetSharedWalletConfigPathError(#[from] GetSharedWalletConfigPathError),
34
35 #[error(transparent)]
36 GetTempPath(#[from] GetTempPathError),
37
38 #[error(transparent)]
39 LoadNetworkId(StructuredFileError),
40
41 #[error("Network '{0}' does not specify any network providers.")]
42 NetworkHasNoProviders(String),
43
44 #[error("The '{0}' network must be a local network.")]
45 NetworkMustBeLocal(String),
46
47 #[error("Network not found: {0}")]
48 NetworkNotFound(String),
49
50 #[error("Cannot find network context.")]
51 NoNetworkContext(),
52
53 #[error("Did not find any providers for network '{0}'")]
54 NoProvidersForNetwork(String),
55
56 #[error("Failed to parse bind address")]
57 ParseBindAddressFailed(#[source] SocketAddrConversionError),
58
59 #[error("Failed to parse contents of {0} as a port value")]
60 ParsePortValueFailed(Box<PathBuf>, #[source] Box<ParseIntError>),
61
62 #[error("Failed to parse URL '{0}'")]
63 ParseProviderUrlFailed(Box<String>, #[source] url::ParseError),
64
65 #[error("Failed to read webserver port")]
66 ReadWebserverPortFailed(#[source] ReadToStringError),
67
68 #[error("Failed to parse principal '{0}'")]
69 ParsePrincipalFailed(String, #[source] PrincipalError),
70}