Stomp Parser and Utilities http://github.com/toschoo/mom
|Latest on Hackage:||0.5.0|
This package is not currently in any snapshots. If you're interested in using it, we recommend adding it to Stackage Nightly. Doing so will make builds more reliable, and allow stackage.org to host generated Haddocks.
The Stomp Protocol specifies message-oriented interoperability. Applications connect to a message broker to send (publish) or receive (subscribe) messages through queues. Interoperating applications do not know the location or internal structure of each other. They see only each other's interfaces, i.e. the messages published and subscribed through the broker. Broker and application use a protocol based on the exchange of commands and other data packets, called frames. The Stompl library provides abstractions over Stomp frames and a Stomp frame parser. It does not implement a client or broker itself, but provides abstractions to libraries and programs doing so. It is used by the Stompl Queue library (stomp-queues). More documentation and a test suite can be found on https://github.com/toschoo/mom/. The Stomp specification can be found at http://stomp.github.com.
0.5.0 Much More efficient body parsing when length is given
0.4.0 Bytestring instead of Bytestring.Char8
0.3.0 State Linkage Exception in license
0.2.0 The mime package (Codec.MIME) switched from String to Text in 0.4. We follow. Thanks, Dave!
0.1.1 Dependency for bytestring set to 0.10
0.1.0 Major changes:
- Compliance with Stomp 1.2: - header keys and values are now escaped; this, in fact, was missing for Stomp 1.1. - header keys and values are not trimmed or padded; this, as well, should have been done for Stomp 1.1 already. Be aware that Stomp 1.0-like message headers may fail now, *e.g.*: *message : hello world* is not the same anymore as *message:hello world* - carriage return (ascii 13) plus line feed (ascii 10) is now accepted as end-of-line; note that stompl never generates carriage return as end-of-line, the standard end-of-line remains line feed. - the Message frame may have an *ack* header and should have when a message is sent through a queue that requires explicit ack. - the mandatory header in the Ack frame is now *id* instead of *message-id*. It should correspond to *ack* in the message that is ack'd. Note that, to ease backward compatibility, Ack frames are generated with both: an *id* and a *message-id* header. - a Stomp frame was added. The Stomp frame has exactly the same format as the Connect frame, but it is handled differently with respect to escaping: Connect header keys and values are not escaped, Stomp header keys and values, however, are.
0.0.3 Major changes:
- new attribute "ClientId" in Connect frame for compatibility with ActiveMQ; - all commands accept additional headers to ease adaptations to broker-specific features.
0.0.2 Minor corrections and documentation
0.0.1 Initial Release