rsocket_rust_transport_websocket/
lib.rs1#![allow(clippy::type_complexity)]
2
3#[macro_use]
4extern crate log;
5
6mod client;
7mod connection;
8mod server;
9
10pub use client::{WebsocketClientTransport, WebsocketRequest};
11pub use server::WebsocketServerTransport;
12
13#[cfg(test)]
14mod test_websocket {
15 use rsocket_rust::prelude::*;
16 use tokio_tungstenite::tungstenite::client::IntoClientRequest;
17
18 use super::*;
19
20 #[ignore]
21 #[tokio::test]
22 async fn test_client() {
23 let mut req = "ws://127.0.0.1:8080/hello".into_client_request().unwrap();
24
25 let headers = req.headers_mut();
27 headers.insert("x-foo-bar", "42".parse().unwrap());
28
29 let tp = WebsocketClientTransport::from(req);
30 let c = RSocketFactory::connect()
31 .transport(tp)
32 .start()
33 .await
34 .expect("connect failed");
35 let res = c
36 .request_response(Payload::builder().set_data_utf8("foo").build())
37 .await
38 .expect("request failed")
39 .unwrap();
40
41 println!("response: {:?}", res);
42 }
43}