From fa065ad128882755f2a988d6203b59a2ab5e38ff Mon Sep 17 00:00:00 2001 From: DanConwayDev Date: Wed, 19 Nov 2025 11:55:32 +0000 Subject: add landing page and nostr-relay-builder relay on same port --- src/http/mod.rs | 31 +++++++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) create mode 100644 src/http/mod.rs (limited to 'src/http/mod.rs') diff --git a/src/http/mod.rs b/src/http/mod.rs new file mode 100644 index 0000000..286e8ff --- /dev/null +++ b/src/http/mod.rs @@ -0,0 +1,31 @@ +/// HTTP Server Module +/// +/// Provides actix-web HTTP server with WebSocket upgrade support for the Nostr relay. + +pub mod landing; +pub mod websocket; + +use actix_web::{middleware, web, App, HttpServer}; +use nostr_relay_builder::LocalRelay; + +use crate::config::Config; + +/// Start the HTTP server with integrated Nostr relay +pub async fn run_server(config: Config, relay: LocalRelay) -> anyhow::Result<()> { + let bind_addr = config.bind_address.clone(); + + tracing::info!("Starting HTTP server on {}", bind_addr); + + HttpServer::new(move || { + App::new() + .app_data(web::Data::new(config.clone())) + .app_data(web::Data::new(relay.clone())) + .wrap(middleware::Logger::default()) + .route("/", web::get().to(landing::handle)) + }) + .bind(&bind_addr)? + .run() + .await?; + + Ok(()) +} \ No newline at end of file -- cgit v1.2.3