From 1348a184013f9714d2a5f4ed6d4e5fe685ab431d Mon Sep 17 00:00:00 2001 From: nazeh Date: Tue, 3 Dec 2024 16:14:59 +0300 Subject: [PATCH] feat(homeserver): remove pkarr endpoints in HomeserverCore --- pubky-homeserver/src/core/routes/mod.rs | 5 -- pubky-homeserver/src/core/routes/pkarr.rs | 58 ----------------------- 2 files changed, 63 deletions(-) delete mode 100644 pubky-homeserver/src/core/routes/pkarr.rs diff --git a/pubky-homeserver/src/core/routes/mod.rs b/pubky-homeserver/src/core/routes/mod.rs index 4edb1f3..c3b3013 100644 --- a/pubky-homeserver/src/core/routes/mod.rs +++ b/pubky-homeserver/src/core/routes/mod.rs @@ -10,11 +10,8 @@ use tower_http::{cors::CorsLayer, trace::TraceLayer}; use crate::core::AppState; -// use self::pkarr::pkarr_router; - mod auth; mod feed; -// mod pkarr; mod public; mod root; @@ -57,8 +54,6 @@ fn base(state: AppState) -> Router { pub fn create_app(state: AppState) -> Router { base(state.clone()) - // TODO: Only enable this for test environments? - // .nest("/pkarr", pkarr_router(state)) .layer(CorsLayer::very_permissive()) .layer(TraceLayer::new_for_http()) } diff --git a/pubky-homeserver/src/core/routes/pkarr.rs b/pubky-homeserver/src/core/routes/pkarr.rs deleted file mode 100644 index 1c079dd..0000000 --- a/pubky-homeserver/src/core/routes/pkarr.rs +++ /dev/null @@ -1,58 +0,0 @@ -use axum::{ - body::{Body, Bytes}, - extract::State, - http::StatusCode, - response::IntoResponse, - routing::{get, put}, - Router, -}; -use futures_util::stream::StreamExt; - -use pkarr::SignedPacket; - -use crate::core::{ - error::{Error, Result}, - extractors::Pubky, - AppState, -}; - -/// Pkarr relay, helpful for testing. -/// -/// For real productioin, you should use a [production ready -/// relay](https://github.com/pubky/pkarr/server). -pub fn pkarr_router(state: AppState) -> Router { - Router::new() - .route("/:pubky", put(pkarr_put)) - .route("/:pubky", get(pkarr_get)) - .with_state(state) -} - -pub async fn pkarr_put( - State(state): State, - pubky: Pubky, - body: Body, -) -> Result { - let mut bytes = Vec::with_capacity(1104); - - let mut stream = body.into_data_stream(); - - while let Some(chunk) = stream.next().await { - bytes.extend_from_slice(&chunk?) - } - - let public_key = pubky.public_key().to_owned(); - - let signed_packet = SignedPacket::from_relay_payload(&public_key, &Bytes::from(bytes))?; - - state.pkarr_client.publish(&signed_packet).await?; - - Ok(()) -} - -pub async fn pkarr_get(State(state): State, pubky: Pubky) -> Result { - if let Some(signed_packet) = state.pkarr_client.resolve(pubky.public_key()).await? { - return Ok(signed_packet.to_relay_payload()); - } - - Err(Error::with_status(StatusCode::NOT_FOUND)) -}