DeterministicESPAsyncWebServer v6.28.0
Zero-allocation, bounded-execution async HTTP server for ESP32
Loading...
Searching...
No Matches
stomp.h File Reference

STOMP 1.2 frame codec (DETWS_ENABLE_STOMP) - zero-heap frame builder + parser, so a device can talk to a STOMP broker (ActiveMQ / RabbitMQ / Artemis) over the shipped outbound client transport (TCP, or STOMP-over-WebSocket via the WS client). More...

#include "ServerConfig.h"

Go to the source code of this file.

Detailed Description

STOMP 1.2 frame codec (DETWS_ENABLE_STOMP) - zero-heap frame builder + parser, so a device can talk to a STOMP broker (ActiveMQ / RabbitMQ / Artemis) over the shipped outbound client transport (TCP, or STOMP-over-WebSocket via the WS client).

STOMP 1.2 (https://stomp.github.io/stomp-specification-1.2.html) frame:

COMMAND\n
header:value\n
header:value\n
\n
body^@ // body ends at the NUL octet (0x00)
  • The command and header lines end with EOL (\n, optionally preceded by \r).
  • A blank line separates the headers from the body; the body ends at a NUL.
  • When a content-length header is present the body is exactly that many octets (so it may itself contain NULs); otherwise the body runs to the first NUL.
  • In header keys/values these octets are escaped: \r(CR) \n(LF) \c(:) \\(\).

The parser is non-mutating: it reports the command, header key/value slices, and body as pointers INTO the source buffer (header values are still escaped - decode one with stomp_unescape when needed). The builder escapes header keys/values for you.

Author
Douglas Quigg (dstroy0)
Date
2026

Definition in file stomp.h.