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
Error from API response containing JSON field errors.details
.
Code
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 Error for Error
impl Error for Error
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
source§impl From<FromUtf8Error> for Error
impl From<FromUtf8Error> for Error
source§fn from(source: FromUtf8Error) -> Self
fn from(source: FromUtf8Error) -> Self
Auto Trait Implementations§
impl Freeze for Error
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> 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
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 bytesJson
: 12 bytesIo
: 12 bytesUtf8
: 44 bytesApi
: 52 bytesCode
: 52 bytesInvalidToken
: 20 bytesTimeout
: 12 bytes