Compare commits

..

1 commit

Author SHA1 Message Date
bea38bc445
fix(clippy): enable more lints and fix issues
All checks were successful
/ build (push) Successful in 3s
/ check (push) Successful in 7s
We also add some more metadata to the Cargo.toml manifest
2024-11-23 21:12:27 +01:00
2 changed files with 9 additions and 9 deletions

View file

@ -5,21 +5,21 @@ use tracing::{trace, warn};
use crate::password;
pub fn auth_layer<'a, ResBody>(
pub fn layer<'a, ResBody>(
user_pass_hash: &'a [u8],
salt: &'a str,
) -> ValidateRequestHeaderLayer<BasicAuth<'a, ResBody>> {
ValidateRequestHeaderLayer::custom(BasicAuth::new(user_pass_hash, salt))
) -> ValidateRequestHeaderLayer<Basic<'a, ResBody>> {
ValidateRequestHeaderLayer::custom(Basic::new(user_pass_hash, salt))
}
#[derive(Copy)]
pub struct BasicAuth<'a, ResBody> {
pub struct Basic<'a, ResBody> {
pass: &'a [u8],
salt: &'a str,
_ty: std::marker::PhantomData<fn() -> ResBody>,
}
impl<ResBody> std::fmt::Debug for BasicAuth<'_, ResBody> {
impl<ResBody> std::fmt::Debug for Basic<'_, ResBody> {
fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
f.debug_struct("BasicAuth")
.field("pass", &self.pass)
@ -29,7 +29,7 @@ impl<ResBody> std::fmt::Debug for BasicAuth<'_, ResBody> {
}
}
impl<ResBody> Clone for BasicAuth<'_, ResBody> {
impl<ResBody> Clone for Basic<'_, ResBody> {
fn clone(&self) -> Self {
Self {
pass: self.pass,
@ -39,7 +39,7 @@ impl<ResBody> Clone for BasicAuth<'_, ResBody> {
}
}
impl<'a, ResBody> BasicAuth<'a, ResBody> {
impl<'a, ResBody> Basic<'a, ResBody> {
pub fn new(pass: &'a [u8], salt: &'a str) -> Self {
Self {
pass,
@ -81,7 +81,7 @@ impl<'a, ResBody> BasicAuth<'a, ResBody> {
}
}
impl<B, ResBody> tower_http::validate_request::ValidateRequest<B> for BasicAuth<'_, ResBody>
impl<B, ResBody> tower_http::validate_request::ValidateRequest<B> for Basic<'_, ResBody>
where
ResBody: Default,
{

View file

@ -290,7 +290,7 @@ fn main() -> Result<()> {
let app = Router::new().route("/update", get(update_records));
// if a password is provided, validate it
let app = if let Some(pass) = password_hash {
app.layer(auth::auth_layer(Box::leak(pass), String::leak(salt)))
app.layer(auth::layer(Box::leak(pass), String::leak(salt)))
} else {
app
}