8 releases (4 breaking)
0.6.0 | Jun 25, 2023 |
---|---|
0.5.0 | Jul 10, 2021 |
0.4.1 | Jun 25, 2021 |
0.3.3 | Jun 6, 2021 |
0.2.0 | May 22, 2021 |
#2622 in Parser implementations
30 downloads per month
Used in 2 crates
90KB
2.5K
SLoC
A Rust crate for parsing Stomp frames, implemented using nom.
lib.rs
:
stomp_parser
implements a model for STOMP Frames, as specified in the STOMP Protocol Specification,Version 1.2.
These frames can be parsed from and serialized to byte arrays.
The types primarily of interest to users of the library are the enums client::ClientFrame
and server::ServerFrame
, which model the frames that can be sent
by STOMP clients and STOMP servers respectively. Obtaining a frame from a message is achieved via try_from
on those types.
Example
use std::convert::TryFrom;
use stomp_parser::client::ClientFrame;
use stomp_parser::headers::HeaderValue;
let message = b"SEND\n\
destination:stairway/to/heaven\n\
\n\
Lorem ipsum dolor sit amet,...\x00"
.to_vec();
if let Ok(ClientFrame::Send(frame)) = ClientFrame::try_from(message) {
assert_eq!("stairway/to/heaven", frame.destination.value());
assert_eq!(b"Lorem ipsum dolor sit amet,...", frame.body().unwrap());
} else {
panic!("Send Frame not parsed correctly");
}
Dependencies
~1MB
~20K SLoC