Skip to main content

ResolveError

Enum ResolveError 

Source
pub enum ResolveError {
    NotFound {
        url: String,
    },
    Transport {
        url: String,
        message: String,
    },
    Malformed {
        url: String,
        message: String,
    },
    IdMismatch {
        url: String,
        expected: String,
        found: String,
    },
    InvalidDid {
        did: String,
        method: String,
        message: String,
    },
    UnsupportedMethod {
        did: String,
        method: String,
    },
}
Expand description

Why resolution failed.

Variants§

§

NotFound

No document at the URL.

Fields

§url: String

The URL that was requested.

§

Transport

The transport could not complete the request.

Fields

§url: String

The URL that was requested.

§message: String

What the transport reported.

§

Malformed

The body was not a DID document.

Fields

§url: String

The URL that was requested.

§message: String

What the deserializer reported.

§

IdMismatch

The document’s id is not the DID that was asked for.

The spec is blunt about this: “The DID declared in the document (in the id field) should always be verified against what was expected.” Skipping it means accepting a document that claims to be a different account, which for did:web is whatever the host chose to serve.

Fields

§url: String

The URL that was requested.

§expected: String

The DID that was asked for.

§found: String

The DID the document claimed.

§

InvalidDid

The DID is not a legal one of its own method — a malformed did:web or a did:plc whose identifier is not base32-sortable. Caught before any fetch: an unvalidated identifier joined into a URL is how a resolver ends up requesting something other than a DID document.

Fields

§did: String

The DID that failed to parse.

§method: String

The method it claimed, e.g. "did:web".

§message: String

What was wrong with it.

§

UnsupportedMethod

The DID’s method is not one this resolver speaks.

Named explicitly rather than folded into Self::NotFound: a method this resolver has no path for and a document that genuinely does not exist are different facts, and a caller deciding whether to keep polling needs to tell them apart.

Fields

§did: String

The full DID that was requested.

§method: String

The method it named.

Trait Implementations§

Source§

impl Clone for ResolveError

Source§

fn clone(&self) -> ResolveError

Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for ResolveError

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl Display for ResolveError

Source§

fn fmt(&self, __formatter: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl Error for ResolveError

1.30.0 · Source§

fn source(&self) -> Option<&(dyn Error + 'static)>

Returns the lower-level source of this error, if any. Read more
1.0.0 · Source§

fn description(&self) -> &str

👎Deprecated since 1.42.0:

use the Display impl or to_string()

1.0.0 · Source§

fn cause(&self) -> Option<&dyn Error>

👎Deprecated since 1.33.0:

replaced by Error::source, which can support downcasting

Source§

fn provide<'a>(&'a self, request: &mut Request<'a>)

🔬This is a nightly-only experimental API. (error_generic_member_access)
Provides type-based access to context intended for error reports. Read more
Source§

impl PartialEq for ResolveError

Source§

fn eq(&self, other: &ResolveError) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 (const: unstable) · Source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
Source§

impl Eq for ResolveError

Source§

impl StructuralPartialEq for ResolveError

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
§

impl<Q, K> Equivalent<K> for Q
where Q: Eq + ?Sized, K: Borrow<Q> + ?Sized,

§

fn equivalent(&self, key: &K) -> bool

Checks if this value is equivalent to the given key. Read more
§

impl<Q, K> Equivalent<K> for Q
where Q: Eq + ?Sized, K: Borrow<Q> + ?Sized,

§

fn equivalent(&self, key: &K) -> bool

Compare self to key and return true if they are equal.
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T> ToString for T
where T: Display + ?Sized,

Source§

fn to_string(&self) -> String

Converts the given value to a String. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.