simplews 0.1.2

simple crate to use websockets
Documentation
#[cfg(test)]
mod tests {

    #[tokio::test]
    #[cfg(feature = "tls")]

    async fn test_websocket_private_tls() {
        static WEBSOCKET_URI: &str = "wss://localhost:3000";

        let websocket_uri = url::Url::parse(WEBSOCKET_URI).unwrap();

        let (ws_channel_sender, ws_channel_receiver) = crate::create_channel();
        let (_, events_channel_receiver) = crate::create_channel();

        let my_cert_bytes = include_bytes!("nodeserver/ca_cert.pem");

        let insecure_config = crate::Wsconfig {
            insecure: None,
            private_chain_bytes: Some(my_cert_bytes.to_vec()),
        };

        tokio::spawn(crate::start_websocket(
            websocket_uri,
            events_channel_receiver.clone(),
            ws_channel_sender.clone(),
            Some(insecure_config),
        ));

        while let Ok(msg) = ws_channel_receiver.recv().await {
            println!("get msg");

            println!("message_task_parsed: {:?}", msg);
            if msg == "ping" {
                ws_channel_sender.send(msg).await.unwrap();
            }
        }
    }

    #[tokio::test]
    #[cfg(feature = "tls")]
    async fn test_websocket_insecure() {
        static WEBSOCKET_URI: &str = "wss://localhost:3000";

        let websocket_uri = url::Url::parse(WEBSOCKET_URI).unwrap();

        let (ws_channel_sender, ws_channel_receiver) = crate::create_channel();
        let (_, events_channel_receiver) = crate::create_channel();

        let insecure_config = crate::Wsconfig {
            insecure: Some(true),
            private_chain_bytes: None,
        };

        tokio::spawn(crate::start_websocket(
            websocket_uri,
            events_channel_receiver.clone(),
            ws_channel_sender.clone(),
            Some(insecure_config),
        ));

        while let Ok(msg) = ws_channel_receiver.recv().await {
            println!("get msg");

            println!("message_task_parsed: {:?}", msg);
            if msg == "ping" {
                ws_channel_sender.send(msg).await.unwrap();
            }
        }
    }

    #[tokio::test]
    #[cfg(not(feature = "tls"))]
    #[cfg(feature = "no-tls")]
    async fn test_websocket_clear() {
        static WEBSOCKET_URI: &str = "ws://localhost:3000";

        let websocket_uri = url::Url::parse(WEBSOCKET_URI).unwrap();

        let (ws_channel_sender, ws_channel_receiver) = crate::create_channel();
        let (_, events_channel_receiver) = crate::create_channel();

        tokio::spawn(crate::start_websocket(
            websocket_uri,
            events_channel_receiver.clone(),
            ws_channel_sender.clone(),
        ));

        while let Ok(msg) = ws_channel_receiver.recv().await {
            println!("get msg");

            println!("message_task_parsed: {:?}", msg);
            if msg == "ping" {
                ws_channel_sender.send(msg).await.unwrap();
            }
        }
    }
}