debug-log received websocket messages

This commit is contained in:
Tangent 2020-05-16 22:36:39 -04:00
parent ca5bf65e9d
commit 9798687693
3 changed files with 116 additions and 1 deletions

View file

@ -1,8 +1,11 @@
#[macro_use] extern crate log;
use anyhow::{Context, Result};
use futures::stream::{FuturesUnordered, StreamExt};
use std::net::ToSocketAddrs;
use structopt::StructOpt;
use warp::{serve, ws, ws::Ws, Filter};
use ws::Message;
#[derive(StructOpt)]
/// Server for base2020 lockstep protocol for multiplayer games.
@ -15,12 +18,28 @@ struct Args {
#[tokio::main]
async fn main() -> Result<()> {
env_logger::init();
let args = Args::from_args();
let socket_handler = ws().map(|upgrade: Ws| {
upgrade.on_upgrade(|websocket| {
let (mut sink, mut source) = websocket.split();
async move {
drop(websocket);
loop {
match source.next().await {
Some(Ok(msg)) => {
if let Ok(text) = msg.to_str() {
debug!("Text message: {}", text);
} else {
debug!("Other message");
}
},
Some(Err(err)) => {
warn!("Websocket connection lost: {}", err);
},
None => break,
}
}
}
})
});