Enum crates_io::Error

source ·
pub enum Error {
    Curl(Error),
    Json(Error),
    Io(Error),
    Utf8(FromUtf8Error),
    Api {
        code: u32,
        headers: Vec<String>,
        errors: Vec<String>,
    },
    Code {
        code: u32,
        headers: Vec<String>,
        body: String,
    },
    InvalidToken(&'static str),
    Timeout(u64),
}
Expand description

Error returned when interacting with a registry.

Variants§

§

Curl(Error)

Error from libcurl.

§

Json(Error)

Error from seriailzing the request payload and deserializing the response body (like response body didn’t match expected structure).

§

Io(Error)

Error from IO. Mostly from reading the tarball to upload.

§

Utf8(FromUtf8Error)

Response body was not valid utf8.

§

Api

Fields

§code: u32
§headers: Vec<String>
§errors: Vec<String>

Error from API response containing JSON field errors.details.

§

Code

Fields

§code: u32
§headers: Vec<String>
§body: String

Error from API response which didn’t have pre-programmed errors.details.

§

InvalidToken(&'static str)

Reason why the token was invalid.

§

Timeout(u64)

Server was unavailable and timeouted. Happened when uploading a way too large tarball to crates.io.

Trait Implementations§

source§

impl Debug for Error

source§

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

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

impl Display for Error

source§

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

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

impl Error for Error

source§

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

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 From<Error> for Error

source§

fn from(source: Error) -> Self

Converts to this type from the input type.
source§

impl From<Error> for Error

source§

fn from(source: Error) -> Self

Converts to this type from the input type.
source§

impl From<Error> for Error

source§

fn from(source: Error) -> Self

Converts to this type from the input type.
source§

impl From<FromUtf8Error> for Error

source§

fn from(source: FromUtf8Error) -> Self

Converts to this type from the input type.

Auto Trait Implementations§

§

impl !RefUnwindSafe for Error

§

impl Send for Error

§

impl Sync for Error

§

impl Unpin for Error

§

impl !UnwindSafe for Error

Blanket Implementations§

source§

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

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

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

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

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

source§

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

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

source§

impl<T, U> Into<U> for Twhere 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> ToString for Twhere T: Display + ?Sized,

source§

default fn to_string(&self) -> String

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

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

§

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 Twhere U: TryFrom<T>,

§

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.

Layout§

Note: Most layout information is completely unstable and may even differ between compilations. The only exception is types with certain repr(...) attributes. Please see the Rust Reference's “Type Layout” chapter for details on type layout guarantees.

Size: 56 bytes

Size for each variant:

  • Curl: 28 bytes
  • Json: 12 bytes
  • Io: 12 bytes
  • Utf8: 44 bytes
  • Api: 52 bytes
  • Code: 52 bytes
  • InvalidToken: 20 bytes
  • Timeout: 12 bytes