diff options
author | HampusM <hampus@hampusmat.com> | 2022-09-10 16:58:58 +0200 |
---|---|---|
committer | HampusM <hampus@hampusmat.com> | 2022-09-10 16:58:58 +0200 |
commit | 4b2228d758d0962dd181b8af93cdfcb8e6a78c6e (patch) | |
tree | 7aaef8f7ec7ec935f4958d6cf80299547e925d59 /src | |
parent | c71ff70ffec328935b9ca4492e313b4a480d7ec7 (diff) |
refactor: add auth prompt handler errors
Diffstat (limited to 'src')
-rw-r--r-- | src/auth.rs | 6 | ||||
-rw-r--r-- | src/errors/auth.rs | 12 |
2 files changed, 13 insertions, 5 deletions
diff --git a/src/auth.rs b/src/auth.rs index 4af4997..be9680b 100644 --- a/src/auth.rs +++ b/src/auth.rs @@ -1,6 +1,5 @@ //! Deezer API authentication. use std::convert::Infallible; -use std::error::Error; use std::fmt::Display; use std::net::ToSocketAddrs; use std::time::Duration; @@ -48,7 +47,7 @@ pub struct AuthPromptHandler /// Handle for the running authentication prompt handler. /// /// Finishes when a single authentication has occurred. - pub handler: JoinHandle<Result<AuthCode, Box<dyn Error + Send + Sync>>>, + pub handler: JoinHandle<Result<AuthCode, AuthPromptHandlerError>>, } impl AuthPromptHandler @@ -96,7 +95,8 @@ impl AuthPromptHandler } => Ok(auth_code) }?; - Ok(opt_auth_code.map_or_else(|| Err("No auth code was received"), Ok)?) + opt_auth_code + .map_or_else(|| Err(AuthPromptHandlerError::NoAuthCodeReceived), Ok) }); Ok(Self { diff --git a/src/errors/auth.rs b/src/errors/auth.rs index a165e05..b11021c 100644 --- a/src/errors/auth.rs +++ b/src/errors/auth.rs @@ -4,11 +4,19 @@ #[derive(Debug, thiserror::Error)] pub enum AuthPromptHandlerError { - /// HTTP server failed to bind to a address. - #[error("HTTP server failed to bind to address")] + /// Web server failed to bind to a address. + #[error("Web server failed to bind to address")] BindAddressFailed, /// Invalid address. #[error("Invalid address")] InvalidAddress, + + /// Web server failed. + #[error("Web server failed")] + WebServerFailed(#[from] hyper::Error), + + /// No authentication code was received. + #[error("No authentication code was received")] + NoAuthCodeReceived, } |