Skip to content
Merged
Show file tree
Hide file tree
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Next Next commit
refactor(http): rename mod and move struct
  • Loading branch information
josecelano committed Mar 7, 2023
commit 49bb0db5b2958bcf19cc4b3eab40f0ee4e317d0b
Original file line number Diff line number Diff line change
Expand Up @@ -6,13 +6,24 @@ use axum::extract::rejection::PathRejection;
use axum::extract::{FromRequestParts, Path};
use axum::http::request::Parts;
use axum::response::{IntoResponse, Response};
use serde::Deserialize;

use crate::http::axum_implementation::handlers::common::auth::{self, KeyParam};
use crate::http::axum_implementation::handlers::common::auth;
use crate::http::axum_implementation::responses;
use crate::tracker::auth::Key;

pub struct Extract(pub Key);

#[derive(Deserialize)]
pub struct KeyParam(String);

impl KeyParam {
#[must_use]
pub fn value(&self) -> String {
self.0.clone()
}
}

#[async_trait]
impl<S> FromRequestParts<S> for Extract
where
Expand Down
2 changes: 1 addition & 1 deletion src/http/axum_implementation/extractors/mod.rs
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
pub mod announce_request;
pub mod key;
pub mod authentication_key;
pub mod remote_client_ip;
pub mod scrape_request;
2 changes: 1 addition & 1 deletion src/http/axum_implementation/handlers/announce.rs
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ use log::debug;

use super::common::peer_ip;
use crate::http::axum_implementation::extractors::announce_request::ExtractRequest;
use crate::http::axum_implementation::extractors::key::Extract;
use crate::http::axum_implementation::extractors::authentication_key::Extract;
use crate::http::axum_implementation::extractors::remote_client_ip::RemoteClientIp;
use crate::http::axum_implementation::handlers::common::auth;
use crate::http::axum_implementation::requests::announce::{Announce, Compact, Event};
Expand Down
11 changes: 0 additions & 11 deletions src/http/axum_implementation/handlers/common/auth.rs
Original file line number Diff line number Diff line change
@@ -1,21 +1,10 @@
use std::panic::Location;

use serde::Deserialize;
use thiserror::Error;

use crate::http::axum_implementation::responses;
use crate::tracker::auth;

#[derive(Deserialize)]
pub struct KeyParam(String);

impl KeyParam {
#[must_use]
pub fn value(&self) -> String {
self.0.clone()
}
}

#[derive(Debug, Error)]
pub enum Error {
#[error("Missing authentication key param for private tracker. Error in {location}")]
Expand Down
2 changes: 1 addition & 1 deletion src/http/axum_implementation/handlers/scrape.rs
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ use axum::response::{IntoResponse, Response};
use log::debug;

use super::common::peer_ip;
use crate::http::axum_implementation::extractors::key::Extract;
use crate::http::axum_implementation::extractors::authentication_key::Extract;
use crate::http::axum_implementation::extractors::remote_client_ip::RemoteClientIp;
use crate::http::axum_implementation::extractors::scrape_request::ExtractRequest;
use crate::http::axum_implementation::requests::scrape::Scrape;
Expand Down