[rabbitmq-discuss] properties.headers in Perl client
Christian Legnitto
clegnitto at mozilla.com
Wed Dec 22 20:46:01 GMT 2010
Ah yes, I forgot I patched that locally and then realized I only needed to use headers for the STOMP backend so I didn't submit a pull request via GitHub. Sorry for providing misleading info.
On Dec 22, 2010, at 11:55 AM, vickerto wrote:
> I just looked through RabbitFoot again and it appears that, just like
> Net::RabbitMQ, you can't actually set the 'headers' property of the
> message headers. Looking at the code that it uses to create the
> header:
>
> sub _header {
> my ($self, $args, $body,) = @_;
>
> $self->{connection}->_push_write(
> Net::AMQP::Frame::Header->new(
> weight => $args->{weight} || 0,
> body_size => length($body),
> header_frame => Net::AMQP::Protocol::Basic::ContentHeader-
>> new(
> content_type => 'application/octet-stream',
> content_encoding => '',
> headers => {},
> delivery_mode => 1,
> priority => 1,
> correlation_id => '',
> expiration => '',
> message_id => '',
> timestamp => time,
> type => '',
> user_id => '',
> app_id => '',
> cluster_id => '',
> %$args,
> ),
> ),
> $self->{id},
> );
>
> return $self;
> }
>
> The 'headers => {}' is the problem. I need to be able to set this to
> my own key/value array, but none of the clients that I have found
> actually allow for this. I can modify it to accept a new argument,
> but I was hoping to find a client that I could use out of the box.
>
>
>
> On Dec 21, 5:24 pm, Christian Legnitto <clegni... at mozilla.com> wrote:
>> Net::RabbitFoot lets you set the headers as well. Take a look at how I do it @https://github.com/LegNeato/bugzilla-push/blob/master/Push/lib/Backen...(though I am not sure I actually pass any headers anywhere for that backend).
>>
>> The code in RabbitFoot is @https://github.com/cooldaemon/RabbitFoot/blob/master/lib/AnyEvent/Rab...
>>
>> Thanks,
>> Christian
>>
>> On Dec 21, 2010, at 12:51 PM, vickerto wrote:
>>
>>
>>
>>> Awesome, thanks! I'll take a look.
>>
>>> On Dec 21, 1:47 pm, Emile Joubert <em... at rabbitmq.com> wrote:
>>>> Hi vickerto,
>>
>>>> I can confirm that POE::Component::Client::AMQP (by Eric Waters) lets
>>>> you set headers. This works for me:
>>
>>>> $queue->publish($msg,
>>>> {
>>>> headers => { 'key' => 'value'}
>>>> }
>>>> );
>>
>>>> Regards
>>
>>>> Emile
>>
>>>> Op 21/12/2010 20:11, het vickerto geskryf:
>>
>>>>> From what I've seen, most of them just set the headers to an empty
>>>>> AMQP table with no way of setting them. I'm taking a look at possibly
>>>>> updating Net::RabbitMQ (which uses librabbitmq) to accept the headers
>>>>> and process them, but I'm going to have to dust off the part of my
>>>>> brain that contains my knowledge of Perl and C :)
>>
>>>>> On Dec 21, 12:41 pm, David Wragg<da... at rabbitmq.com> wrote:
>>>>>> Hi Tom,
>>
>>>>>> vickerto<vicke... at gmail.com> writes:
>>>>>>> I have successfully implemented a messaging system using one of the
>>>>>>> PHP clients that I found on the web. I am currently working on a Perl
>>>>>>> counterpart that can send and receive messages to/from the same
>>>>>>> system.
>>
>>>>>>> The problem that I am running into is that I was successfully able to
>>>>>>> use the properties.headers to store some key/value information about
>>>>>>> my message in the PHP client, but I have yet to find a Perl client
>>>>>>> that actually supports or uses these headers. Am I missing something
>>>>>>> or does nobody actually use these headers in Perl?
>>
>>>>>> Not all AMQP applications use the message headers, so it's plausible
>>>>>> that no-one has yet bothered to add support to the Perl clients. Though
>>>>>> it would be a fairly significant omission, given that the headers are
>>>>>> (potentially) a part of every AMQP message. I'm not aware of other
>>>>>> clients that take this short cut.
>>
>>>>>> David
>>
>>>> _______________________________________________
>>>> rabbitmq-discuss mailing list
>>>> rabbitmq-disc... at lists.rabbitmq.comhttps://lists.rabbitmq.com/cgi-bin/mailman/listinfo/rabbitmq-discuss
>>> _______________________________________________
>>> rabbitmq-discuss mailing list
>>> rabbitmq-disc... at lists.rabbitmq.com
>>> https://lists.rabbitmq.com/cgi-bin/mailman/listinfo/rabbitmq-discuss
>>
>> _______________________________________________
>> rabbitmq-discuss mailing list
>> rabbitmq-disc... at lists.rabbitmq.comhttps://lists.rabbitmq.com/cgi-bin/mailman/listinfo/rabbitmq-discuss
> _______________________________________________
> rabbitmq-discuss mailing list
> rabbitmq-discuss at lists.rabbitmq.com
> https://lists.rabbitmq.com/cgi-bin/mailman/listinfo/rabbitmq-discuss
More information about the rabbitmq-discuss
mailing list