about summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--kittybox-rs/src/indieauth/mod.rs3
-rw-r--r--kittybox-rs/util/src/error.rs5
2 files changed, 7 insertions, 1 deletions
diff --git a/kittybox-rs/src/indieauth/mod.rs b/kittybox-rs/src/indieauth/mod.rs
index 44cb368..36f207c 100644
--- a/kittybox-rs/src/indieauth/mod.rs
+++ b/kittybox-rs/src/indieauth/mod.rs
@@ -6,6 +6,7 @@ use axum::{
     http::StatusCode, TypedHeader, headers::{Authorization, authorization::Bearer},
     Extension
 };
+#[cfg_attr(not(feature = "webauthn"), allow(unused_imports))]
 use axum_extra::extract::cookie::{CookieJar, Cookie};
 use crate::database::Storage;
 use kittybox_indieauth::{
@@ -126,6 +127,7 @@ async fn verify_credential<A: AuthBackend>(
     auth: &A,
     website: &url::Url,
     credential: Credential,
+    #[cfg_attr(not(feature = "webauthn"), allow(unused_variables))]
     challenge_id: Option<&str>
 ) -> std::io::Result<bool> {
     match credential {
@@ -758,6 +760,7 @@ mod tests {
 
         match confirmation.authorization_method {
             Credential::Password(password) => assert_eq!(password.as_str(), "swordfish"),
+            #[allow(unreachable_patterns)]
             other => panic!("Incorrect credential: {:?}", other)
         }
         assert_eq!(confirmation.request.state.as_ref(), "10101010");
diff --git a/kittybox-rs/util/src/error.rs b/kittybox-rs/util/src/error.rs
index 7edf176..1c95020 100644
--- a/kittybox-rs/util/src/error.rs
+++ b/kittybox-rs/util/src/error.rs
@@ -2,7 +2,7 @@ use serde::{Deserialize, Serialize};
 use http::StatusCode;
 use axum_core::response::{Response, IntoResponse};
 
-#[derive(Serialize, Deserialize, PartialEq, Debug)]
+#[derive(Serialize, Deserialize, PartialEq, Eq, Debug)]
 #[serde(rename_all = "snake_case")]
 /// Kinds of errors that can happen within a Micropub operation.
 pub enum ErrorType {
@@ -27,7 +27,9 @@ pub enum ErrorType {
 /// Representation of the Micropub API error.
 #[derive(Serialize, Deserialize, Debug)]
 pub struct MicropubError {
+    /// General kind of an error that occured.
     pub error: ErrorType,
+    /// A human-readable error description intended for application developers.
     // TODO use Cow<'static, str> to save on heap allocations
     pub error_description: String,
 }
@@ -52,6 +54,7 @@ impl From<serde_json::Error> for MicropubError {
 }
 
 impl MicropubError {
+    /// Create a new Micropub error.
     pub fn new(error: ErrorType, error_description: &str) -> Self {
         Self {
             error,