viewpoint_core/network/websocket/
frame.rs1use viewpoint_cdp::protocol::WebSocketFrame as CdpWebSocketFrame;
4
5#[derive(Debug, Clone)]
7pub struct WebSocketFrame {
8 opcode: u8,
10 payload_data: String,
12}
13
14impl WebSocketFrame {
15 pub(crate) fn new(opcode: u8, payload_data: String) -> Self {
17 Self {
18 opcode,
19 payload_data,
20 }
21 }
22
23 pub(crate) fn from_cdp(cdp_frame: &CdpWebSocketFrame) -> Self {
25 Self {
26 opcode: cdp_frame.opcode as u8,
27 payload_data: cdp_frame.payload_data.clone(),
28 }
29 }
30
31 pub fn opcode(&self) -> u8 {
40 self.opcode
41 }
42
43 pub fn payload(&self) -> &str {
45 &self.payload_data
46 }
47
48 pub fn is_text(&self) -> bool {
50 self.opcode == 1
51 }
52
53 pub fn is_binary(&self) -> bool {
55 self.opcode == 2
56 }
57}