[rabbitmq-discuss] STOMP Connector / Net::Stomp / Custom Headers
Tony Garnock-Jones
tonyg at lshift.net
Tue Jan 27 15:15:00 GMT 2009
Hi Darien,
> 1) When sending a message, I've tried setting the header named:
> 'reply-to', 'reply_to', x-reply-to', and 'x_reply_to'. In *all*
> cases, it seems that the STOMP connector strips this header before
> sending the message through to the receiving *perl* process.
As you noted, the STOMP adapter treats all headers as case sensitive.
If you set "reply-to", then the "reply-to" header in the Basic Content
Properties part of the AMQP delivery is set to the string you give.
However, when the adapter gets a Basic.Deliver, it doesn't take the
"reply-to" header out of it to pass on to the STOMP client! I should fix
that.
If you set "X-reply-to", then an AMQP *user* header called "reply-to"
will be placed in the "headers" header in the Basic Content Properties
part of the delivery. I *did* implement the bit where the "headers"
header is extracted, keys prefixed with "X-", and send on in the MESSAGE
to the STOMP client. Phew.
> 2) In general, how does the STOMP connector deal with custom headers
> via Net::Stomp? Does it strip out all custom headers? Or only custom
> headers that don't begin with 'x-'?
User-level headers (that go in the "headers" member of a Basic Content
Properties frame, see section 1.1.6, page 21, line 5 of
https://jira.amqp.org/confluence/download/attachments/720900/amqp-xml-doc0-8.pdf?version=1)
are expected to be prefixed with "X-" in a SEND, and are prefixed with
"X-" when packaged up into a MESSAGE.
There are also "X-Q-" and "X-B-" prefixes that are used to construct the
arguments tables for queue declaration and binding, respectively, during
a SUBSCRIBE operation.
Regards,
Tony
--
[][][] Tony Garnock-Jones | Mob: +44 (0)7905 974 211
[][] LShift Ltd | Tel: +44 (0)20 7729 7060
[] [] http://www.lshift.net/ | Email: tonyg at lshift.net
More information about the rabbitmq-discuss
mailing list