pub enum InstallError {
CoordsInvalid {
got: String,
reason: &'static str,
},
Http(String),
Io(String),
ReleaseShape {
owner: String,
reason: String,
repo: String,
},
TargetNotFound {
id: String,
version: Version,
target: String,
available: Vec<String>,
},
Sha256Invalid {
id: String,
got: String,
},
Sha256Mismatch {
id: String,
expected: String,
got: String,
},
}Expand description
Errors surfaced by crate::resolve_release,
crate::download_and_verify, and the
crate::install_plugin one-shot.
Variants§
CoordsInvalid
<owner>/<repo>[@<tag>] coords malformed.
Http(String)
HTTP request failed (network, non-2xx, decode).
Io(String)
IO write to the destination tarball path failed.
ReleaseShape
GitHub release JSON didn’t match our convention (missing
nexo-plugin.toml asset, malformed manifest, tag isn’t
semver-shaped).
Fields
TargetNotFound
Release found, but no tarball asset matched the
requested target. Listing the available targets so the
operator can pick one or override NEXO_INSTALL_TARGET.
Fields
Sha256Invalid
.sha256 asset’s body wasn’t 64 lowercase hex chars.
Sha256Mismatch
Computed sha256 of the downloaded tarball doesn’t match
the value advertised in the .sha256 asset.
Trait Implementations§
Source§impl Debug for InstallError
impl Debug for InstallError
Source§impl Display for InstallError
impl Display for InstallError
Source§impl Error for InstallError
impl Error for InstallError
1.30.0 · Source§fn source(&self) -> Option<&(dyn Error + 'static)>
fn source(&self) -> Option<&(dyn Error + 'static)>
1.0.0 · Source§fn description(&self) -> &str
fn description(&self) -> &str
use the Display impl or to_string()
Auto Trait Implementations§
impl Freeze for InstallError
impl RefUnwindSafe for InstallError
impl Send for InstallError
impl Sync for InstallError
impl Unpin for InstallError
impl UnsafeUnpin for InstallError
impl UnwindSafe for InstallError
Blanket Implementations§
Source§impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
Source§impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> PolicyExt for Twhere
T: ?Sized,
impl<T> PolicyExt for Twhere
T: ?Sized,
Source§impl<T> ToStringFallible for Twhere
T: Display,
impl<T> ToStringFallible for Twhere
T: Display,
Source§fn try_to_string(&self) -> Result<String, TryReserveError>
fn try_to_string(&self) -> Result<String, TryReserveError>
ToString::to_string, but without panic on OOM.