chore: Initial commit for Rust backend

This commit is contained in:
Maciej Hirsz
2019-06-03 15:05:34 +02:00
parent 7a358303c2
commit a4ededc2f0
7 changed files with 2071 additions and 0 deletions
+40
View File
@@ -0,0 +1,40 @@
use actix::prelude::*;
use actix_web::{web, App, HttpRequest, HttpResponse, HttpServer, Error};
use actix_web_actors::ws;
mod node_connector;
mod node_message;
mod chain;
use node_connector::NodeConnector;
use chain::Chain;
/// Entry point for connecting nodes
fn node_route(
req: HttpRequest,
stream: web::Payload,
chain: web::Data<Addr<Chain>>,
) -> Result<HttpResponse, Error> {
println!("Connection!");
ws::start(
NodeConnector::new(chain.get_ref().clone()),
&req,
stream,
)
}
fn main() -> std::io::Result<()> {
let sys = System::new("substrate-telemetry");
let chain = Chain.start();
HttpServer::new(move || {
App::new()
.data(chain.clone())
.service(web::resource("/submit").route(web::get().to(node_route)))
})
.bind("127.0.0.1:8080")?
.start();
sys.run()
}