chore: initial sanitized public snapshot
This commit is contained in:
@@ -0,0 +1,48 @@
|
||||
use std::{
|
||||
collections::BTreeMap,
|
||||
io::Write,
|
||||
net::{Shutdown, TcpListener, TcpStream},
|
||||
sync::{Arc, Mutex},
|
||||
thread,
|
||||
time::Duration,
|
||||
};
|
||||
|
||||
use super::{
|
||||
http_surface::{
|
||||
HttpRequest, dispatch_json_request, dispatch_xml_request, handle_rpc_http_request,
|
||||
},
|
||||
websocket_session::flush_websocket_session_queue_shared,
|
||||
websocket_surface::{
|
||||
flush_websocket_session_queue, handle_websocket_rpc_frame,
|
||||
process_websocket_session_frames, read_websocket_frame, serve_upgraded_websocket_session,
|
||||
websocket_frame_from_bytes, websocket_frame_to_bytes,
|
||||
},
|
||||
*,
|
||||
};
|
||||
use crate::{
|
||||
InProcessRpcDispatcher, JsonRpcRequest, RpcMeta, RpcMethod, RpcNotificationEvent,
|
||||
RpcNotificationKind, RpcValue, RpcWebSocketFrame, WebSocketSessionRegistry, XmlRpcMethodCall,
|
||||
XmlRpcParam, XmlRpcValue, jsonrpc::JsonRpcId,
|
||||
};
|
||||
|
||||
mod http_surface;
|
||||
mod websocket_dispatch;
|
||||
mod websocket_handshake;
|
||||
mod websocket_session;
|
||||
|
||||
#[doc(hidden)]
|
||||
fn masked_text_frame_bytes(text: &str) -> Vec<u8> {
|
||||
let payload = text.as_bytes();
|
||||
let mask = [0x11, 0x22, 0x33, 0x44];
|
||||
let masked_payload = payload
|
||||
.iter()
|
||||
.enumerate()
|
||||
.map(|(index, byte)| byte ^ mask[index % mask.len()])
|
||||
.collect::<Vec<_>>();
|
||||
let payload_len =
|
||||
u8::try_from(payload.len()).expect("test websocket payload should fit in a short frame");
|
||||
let mut frame = vec![0x81, 0x80 | payload_len];
|
||||
frame.extend_from_slice(&mask);
|
||||
frame.extend_from_slice(&masked_payload);
|
||||
frame
|
||||
}
|
||||
Reference in New Issue
Block a user