#[non_exhaustive]pub enum ErrorKind {
Show 46 variants
Forbidden {
authenticate: Option<AuthenticateError>,
},
UnknownToken {
soft_logout: bool,
},
MissingToken,
BadJson,
NotJson,
NotFound,
LimitExceeded {
retry_after: Option<RetryAfter>,
},
Unknown,
Unrecognized,
Unauthorized,
UserDeactivated,
UserInUse,
InvalidUsername,
RoomInUse,
InvalidRoomState,
ThreepidInUse,
ThreepidNotFound,
ThreepidAuthFailed,
ThreepidDenied,
ServerNotTrusted,
UnsupportedRoomVersion,
IncompatibleRoomVersion {
room_version: RoomVersionId,
},
BadState,
GuestAccessForbidden,
CaptchaNeeded,
CaptchaInvalid,
MissingParam,
InvalidParam,
TooLarge,
Exclusive,
ResourceLimitExceeded {
admin_contact: String,
},
CannotLeaveServerNoticeRoom,
WeakPassword,
UnableToAuthorizeJoin,
UnableToGrantJoin,
BadAlias,
DuplicateAnnotation,
NotYetUploaded,
CannotOverwriteMedia,
UnknownPos,
UrlNotSet,
BadStatus {
status: Option<StatusCode>,
body: Option<String>,
},
ConnectionFailed,
ConnectionTimeout,
WrongRoomKeysVersion {
current_version: Option<String>,
},
Unactionable,
}
client-api-c
or client-api-s
) and (crate features client
or server
) and crate feature api
only.Expand description
An enum for the error kind.
Items may contain additional information.
Variants (Non-exhaustive)§
This enum is marked as non-exhaustive
Forbidden
M_FORBIDDEN
Fields
This variant is marked as non-exhaustive
authenticate: Option<AuthenticateError>
unstable-msc2967
only.The WWW-Authenticate
header error message.
UnknownToken
M_UNKNOWN_TOKEN
Fields
MissingToken
M_MISSING_TOKEN
BadJson
M_BAD_JSON
NotJson
M_NOT_JSON
NotFound
M_NOT_FOUND
LimitExceeded
M_LIMIT_EXCEEDED
Fields
retry_after: Option<RetryAfter>
How long a client should wait before they can try again.
Unknown
M_UNKNOWN
Unrecognized
M_UNRECOGNIZED
M_UNAUTHORIZED
UserDeactivated
M_USER_DEACTIVATED
UserInUse
M_USER_IN_USE
InvalidUsername
M_INVALID_USERNAME
RoomInUse
M_ROOM_IN_USE
InvalidRoomState
M_INVALID_ROOM_STATE
ThreepidInUse
M_THREEPID_IN_USE
ThreepidNotFound
M_THREEPID_NOT_FOUND
ThreepidAuthFailed
M_THREEPID_AUTH_FAILED
ThreepidDenied
M_THREEPID_DENIED
ServerNotTrusted
M_SERVER_NOT_TRUSTED
UnsupportedRoomVersion
M_UNSUPPORTED_ROOM_VERSION
IncompatibleRoomVersion
M_INCOMPATIBLE_ROOM_VERSION
Fields
room_version: RoomVersionId
The room’s version.
BadState
M_BAD_STATE
GuestAccessForbidden
M_GUEST_ACCESS_FORBIDDEN
CaptchaNeeded
M_CAPTCHA_NEEDED
CaptchaInvalid
M_CAPTCHA_INVALID
MissingParam
M_MISSING_PARAM
InvalidParam
M_INVALID_PARAM
TooLarge
M_TOO_LARGE
Exclusive
M_EXCLUSIVE
ResourceLimitExceeded
M_RESOURCE_LIMIT_EXCEEDED
CannotLeaveServerNoticeRoom
M_CANNOT_LEAVE_SERVER_NOTICE_ROOM
WeakPassword
M_WEAK_PASSWORD
UnableToAuthorizeJoin
M_UNABLE_TO_AUTHORISE_JOIN
UnableToGrantJoin
M_UNABLE_TO_GRANT_JOIN
BadAlias
M_BAD_ALIAS
DuplicateAnnotation
M_DUPLICATE_ANNOTATION
NotYetUploaded
M_NOT_YET_UPLOADED
CannotOverwriteMedia
M_CANNOT_OVERWRITE_MEDIA
UnknownPos
unstable-msc3575
only.M_UNKNOWN_POS for sliding sync
UrlNotSet
M_URL_NOT_SET
BadStatus
M_BAD_STATUS
Fields
status: Option<StatusCode>
The HTTP status code of the response.
ConnectionFailed
M_CONNECTION_FAILED
ConnectionTimeout
M_CONNECTION_TIMEOUT
WrongRoomKeysVersion
M_WRONG_ROOM_KEYS_VERSION
Unactionable
unstable-msc3843
only.M_UNACTIONABLE
Implementations§
source§impl ErrorKind
impl ErrorKind
sourcepub fn forbidden() -> ErrorKind
pub fn forbidden() -> ErrorKind
Constructs an empty ErrorKind::Forbidden
variant.
sourcepub fn forbidden_with_authenticate(authenticate: AuthenticateError) -> ErrorKind
Available on crate feature unstable-msc2967
only.
pub fn forbidden_with_authenticate(authenticate: AuthenticateError) -> ErrorKind
unstable-msc2967
only.Constructs an ErrorKind::Forbidden
variant with the given WWW-Authenticate
header
error message.
Trait Implementations§
source§impl<'de> Deserialize<'de> for ErrorKind
impl<'de> Deserialize<'de> for ErrorKind
source§fn deserialize<D>(
deserializer: D,
) -> Result<ErrorKind, <D as Deserializer<'de>>::Error>where
D: Deserializer<'de>,
fn deserialize<D>(
deserializer: D,
) -> Result<ErrorKind, <D as Deserializer<'de>>::Error>where
D: Deserializer<'de>,
source§impl Serialize for ErrorKind
impl Serialize for ErrorKind
source§fn serialize<S>(
&self,
serializer: S,
) -> Result<<S as Serializer>::Ok, <S as Serializer>::Error>where
S: Serializer,
fn serialize<S>(
&self,
serializer: S,
) -> Result<<S as Serializer>::Ok, <S as Serializer>::Error>where
S: Serializer,
impl Eq for ErrorKind
impl StructuralPartialEq for ErrorKind
Auto Trait Implementations§
impl Freeze for ErrorKind
impl RefUnwindSafe for ErrorKind
impl Send for ErrorKind
impl Sync for ErrorKind
impl Unpin for ErrorKind
impl UnwindSafe for ErrorKind
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
source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
source§unsafe fn clone_to_uninit(&self, dst: *mut T)
unsafe fn clone_to_uninit(&self, dst: *mut T)
clone_to_uninit
)source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key
and return true
if they are equal.source§impl<T, W> HasTypeWitness<W> for Twhere
W: MakeTypeWitness<Arg = T>,
T: ?Sized,
impl<T, W> HasTypeWitness<W> for Twhere
W: MakeTypeWitness<Arg = T>,
T: ?Sized,
source§impl<T> Identity for Twhere
T: ?Sized,
impl<T> Identity for Twhere
T: ?Sized,
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> IntoEither for T
impl<T> IntoEither for T
source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self
into a Left
variant of Either<Self, Self>
if into_left
is true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read moresource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
self
into a Left
variant of Either<Self, Self>
if into_left(&self)
returns true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read more