gramps
Types
pub type ControlFrame {
CloseFrame(payload_length: Int, payload: BitArray)
PingFrame(payload_length: Int, payload: BitArray)
PongFrame(payload_length: Int, payload: BitArray)
}
Constructors
-
CloseFrame(payload_length: Int, payload: BitArray)
-
PingFrame(payload_length: Int, payload: BitArray)
-
PongFrame(payload_length: Int, payload: BitArray)
pub type DataFrame {
TextFrame(payload_length: Int, payload: BitArray)
BinaryFrame(payload_length: Int, payload: BitArray)
}
Constructors
-
TextFrame(payload_length: Int, payload: BitArray)
-
BinaryFrame(payload_length: Int, payload: BitArray)
pub type DecodePacketError {
More(length: Int)
HttpError(reason: String)
}
Constructors
-
More(length: Int)
-
HttpError(reason: String)
pub type Frame {
Data(DataFrame)
Control(ControlFrame)
Continuation(length: Int, payload: BitArray)
}
Constructors
-
Data(DataFrame)
-
Control(ControlFrame)
-
Continuation(length: Int, payload: BitArray)
pub type FrameParseError {
NeedMoreData(BitArray)
InvalidFrame
}
Constructors
-
NeedMoreData(BitArray)
-
InvalidFrame
pub type PacketType {
HttphBin
HttpBin
}
Constructors
-
HttphBin
-
HttpBin
pub type ParsedFrame {
Complete(Frame)
Incomplete(Frame)
}
Constructors
-
Complete(Frame)
-
Incomplete(Frame)
Constants
pub const websocket_client_key: String = "dGhlIHNhbXBsZSBub25jZQ=="
Functions
pub fn aggregate_frames(
frames: List(ParsedFrame),
previous: Option(Frame),
joined: List(Frame),
) -> Result(List(Frame), Nil)
pub fn frame_from_message(
message: BitArray,
) -> Result(#(ParsedFrame, BitArray), FrameParseError)
pub fn frame_to_bytes_builder(
frame: Frame,
mask: Option(BitArray),
) -> BytesBuilder
pub fn get_messages(
data: BitArray,
frames: List(ParsedFrame),
) -> #(List(ParsedFrame), BitArray)
pub fn parse_websocket_key(key: String) -> String
pub fn read_request(
data: BitArray,
) -> Result(#(Request(Nil), BitArray), DecodePacketError)
pub fn read_response(
data: BitArray,
) -> Result(#(Response(Nil), BitArray), DecodePacketError)
pub fn to_binary_frame(
data: BitArray,
mask: Bool,
) -> BytesBuilder
pub fn to_text_frame(data: String, mask: Bool) -> BytesBuilder