#[non_exhaustive]pub enum HashingError {
Operation {
operation: HashingOperation,
message: String,
algorithm: Option<String>,
expected_format: Option<String>,
},
}Expand description
Hashing-category native errors (hashing and verification).
Use these errors in hashing services, verification flows, and password/secret updates.
Variants (Non-exhaustive)§
This enum is marked as non-exhaustive
Non-exhaustive enums could have additional variants added in future. Therefore, when matching against variants of non-exhaustive enums, an extra wildcard arm must be added to account for any future variants.
Operation
A hashing-related operation failed.
Implementations§
Source§impl HashingError
impl HashingError
Sourcepub fn new(operation: HashingOperation, message: impl Into<String>) -> Self
pub fn new(operation: HashingOperation, message: impl Into<String>) -> Self
Construct a hashing error without algorithm/format context.
§Arguments
operation: The hashing operation that failed.message: A non-sensitive description of the error.
§Examples
use axum_gate::hashing::{HashingError, HashingOperation};
let _err = HashingError::new(HashingOperation::Hash, "failed to hash value");Sourcepub fn with_algorithm(
operation: HashingOperation,
message: impl Into<String>,
algorithm: impl Into<String>,
) -> Self
pub fn with_algorithm( operation: HashingOperation, message: impl Into<String>, algorithm: impl Into<String>, ) -> Self
Construct a hashing error with algorithm context.
§Arguments
operation: The hashing operation that failed.message: A non-sensitive description of the error.algorithm: The hashing algorithm (e.g.,argon2id).
§Examples
use axum_gate::hashing::{HashingError, HashingOperation};
let _err = HashingError::with_algorithm(HashingOperation::Verify, "verification failed", "argon2id");Sourcepub fn with_context(
operation: HashingOperation,
message: impl Into<String>,
algorithm: Option<String>,
expected_format: Option<String>,
) -> Self
pub fn with_context( operation: HashingOperation, message: impl Into<String>, algorithm: Option<String>, expected_format: Option<String>, ) -> Self
Construct a hashing error with full context.
§Arguments
operation: The hashing operation that failed.message: A non-sensitive description of the error.algorithm: The hashing algorithm (e.g.,argon2id), if known.expected_format: Expected hash format (sanitized), if relevant.
§Examples
use axum_gate::hashing::{HashingError, HashingOperation};
let _err = HashingError::with_context(
HashingOperation::Verify,
"verification failed",
Some("argon2id".into()),
Some("$argon2id$v=19$...".into()),
);Trait Implementations§
Source§impl Debug for HashingError
impl Debug for HashingError
Source§impl Display for HashingError
impl Display for HashingError
Source§impl Error for HashingError
impl Error for HashingError
1.30.0 · Source§fn source(&self) -> Option<&(dyn Error + 'static)>
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
fn description(&self) -> &str
👎Deprecated since 1.42.0: use the Display impl or to_string()
Source§impl From<HashingError> for Error
impl From<HashingError> for Error
Source§fn from(source: HashingError) -> Self
fn from(source: HashingError) -> Self
Converts to this type from the input type.
Source§impl UserFriendlyError for HashingError
impl UserFriendlyError for HashingError
Source§fn user_message(&self) -> String
fn user_message(&self) -> String
User-facing message that is clear, actionable, and non-technical. Read more
Source§fn developer_message(&self) -> String
fn developer_message(&self) -> String
Technical message with detailed information for developers and logs. Read more
Source§fn support_code(&self) -> String
fn support_code(&self) -> String
Unique support reference code for customer service and troubleshooting. Read more
Source§fn severity(&self) -> ErrorSeverity
fn severity(&self) -> ErrorSeverity
Error severity level for proper handling and alerting.
Source§fn suggested_actions(&self) -> Vec<String>
fn suggested_actions(&self) -> Vec<String>
Suggested user actions for resolving the error.
Source§fn is_retryable(&self) -> bool
fn is_retryable(&self) -> bool
Whether this error should be retryable by the user.
Auto Trait Implementations§
impl Freeze for HashingError
impl RefUnwindSafe for HashingError
impl Send for HashingError
impl Sync for HashingError
impl Unpin for HashingError
impl UnwindSafe for HashingError
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
Mutably borrows from an owned value. Read more
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>
Converts
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>
Converts
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 moreSource§impl<T> Pointable for T
impl<T> Pointable for T
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.