Several fixes to make RabbitMQ a player.

* extlib/Stomp.php
    -spaces for tabs (we're on PEAR, right?)
    - send: initialize the $properties parameter as array() instead of null
      this prevents unsetting $headers if $properties was not set
      (besides that, it's the proper way to initialize an array)
    - subscribe: insert FIXME's on ActiveMQ specifics
    - ack: make sure the content-length header is set *and* is zero.
      I have seen the header set to '3' there but could not find where it
      came from, this is at least safe.
    - disconnect: typo in $headers variable
    - readFrame: use fgets() instead of gets() so that RabbitQ, which is more protocol strict can also play
  * extlib/Stomp/Frame.php
    - spaces for tabs
    - add note on possibly protocol violating linefeed
  * extlib/Stomp/Message.php
    - space for tabs
    - add content-length header for message
  * lib/stompqueuemanager.php
    - use the notice for logging, not the frame
This commit is contained in:
Marcel van der Boom
2009-09-08 22:21:33 +02:00
committed by Craig Andrews
parent a73162d3eb
commit c04987018c
4 changed files with 123 additions and 99 deletions

View File

@@ -29,8 +29,12 @@ require_once 'Stomp/Frame.php';
*/
class Stomp_Message extends Stomp_Frame
{
public function __construct ($body, $headers = null)
public function __construct ($body, $headers = array())
{
if(!isset($headers['content-length'])) {
// TODO: log this, to see if this is correct
$headers['content-length'] = strlen($body);
}
$this->_init("SEND", $headers, $body);
}
}