diamond-in commited on
Commit
ef98263
·
verified ·
1 Parent(s): b793069

Update src/main.rs

Browse files
Files changed (1) hide show
  1. src/main.rs +7 -3
src/main.rs CHANGED
@@ -1,5 +1,4 @@
1
  use axum::{routing::{get, post}, Router};
2
- use std::net::SocketAddr;
3
  use tower_http::services::ServeDir;
4
  use std::sync::Arc;
5
  use tokio::sync::broadcast;
@@ -16,15 +15,20 @@ pub struct AppState {
16
  #[tokio::main]
17
  async fn main() {
18
  tracing_subscriber::fmt::init();
 
 
19
  let (tx, _) = broadcast::channel(100);
20
  let state = Arc::new(AppState { tx });
21
 
22
  let app = Router::new()
23
  .route("/api/chat", post(agent::chat_handler))
24
  .route("/api/stream", get(sse::stream::sse_handler))
 
25
  .fallback_service(ServeDir::new("./frontend/dist"))
26
  .with_state(state);
27
 
28
- let addr = SocketAddr::from(([0, 0, 0, 0], 7860));
29
- axum::Server::bind(&addr).serve(app.into_make_service()).await.unwrap();
 
 
30
  }
 
1
  use axum::{routing::{get, post}, Router};
 
2
  use tower_http::services::ServeDir;
3
  use std::sync::Arc;
4
  use tokio::sync::broadcast;
 
15
  #[tokio::main]
16
  async fn main() {
17
  tracing_subscriber::fmt::init();
18
+
19
+ // Channel for streaming logs and browser frames to UI
20
  let (tx, _) = broadcast::channel(100);
21
  let state = Arc::new(AppState { tx });
22
 
23
  let app = Router::new()
24
  .route("/api/chat", post(agent::chat_handler))
25
  .route("/api/stream", get(sse::stream::sse_handler))
26
+ // Serve the React frontend from the dist folder
27
  .fallback_service(ServeDir::new("./frontend/dist"))
28
  .with_state(state);
29
 
30
+ // Axum 0.7 way to start the server
31
+ let listener = tokio::net::TcpListener::bind("0.0.0.0:7860").await.unwrap();
32
+ println!("🚀 Agent Server running on http://0.0.0.0:7860");
33
+ axum::serve(listener, app).await.unwrap();
34
  }