diff options
author | Marcel van der Boom <marcel@hsdev.com> | 2009-09-08 22:21:33 +0200 |
---|---|---|
committer | Craig Andrews <candrews@integralblue.com> | 2009-09-11 20:50:53 -0400 |
commit | c04987018cd6c845c6da7a92d9857d8c651f7022 (patch) | |
tree | 7fda105d912998b3cf979c3f0d44edb6c6526ace /extlib/Stomp | |
parent | a73162d3eb237046f89ab21e17a9424ac47cd66d (diff) |
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
Diffstat (limited to 'extlib/Stomp')
-rw-r--r-- | extlib/Stomp/Frame.php | 87 | ||||
-rw-r--r-- | extlib/Stomp/Message.php | 6 |
2 files changed, 49 insertions, 44 deletions
diff --git a/extlib/Stomp/Frame.php b/extlib/Stomp/Frame.php index dc59c1cb7..9fd97b4f5 100644 --- a/extlib/Stomp/Frame.php +++ b/extlib/Stomp/Frame.php @@ -17,46 +17,46 @@ */ /* vim: set expandtab tabstop=3 shiftwidth=3: */ -
-/**
- * Stomp Frames are messages that are sent and received on a StompConnection.
- *
- * @package Stomp
- * @author Hiram Chirino <hiram@hiramchirino.com>
- * @author Dejan Bosanac <dejan@nighttale.net>
- * @author Michael Caplan <mcaplan@labnet.net>
- * @version $Revision: 36 $
- */
-class Stomp_Frame
-{
- public $command;
- public $headers = array();
- public $body;
-
- /**
- * Constructor
- *
- * @param string $command
- * @param array $headers
- * @param string $body
- */
- public function __construct ($command = null, $headers = null, $body = null)
- {
- $this->_init($command, $headers, $body);
- }
-
- protected function _init ($command = null, $headers = null, $body = null)
- {
- $this->command = $command;
- if ($headers != null) {
- $this->headers = $headers;
- }
- $this->body = $body;
-
- if ($this->command == 'ERROR') {
- require_once 'Stomp/Exception.php';
- throw new Stomp_Exception($this->headers['message'], 0, $this->body);
- }
+ +/** + * Stomp Frames are messages that are sent and received on a StompConnection. + * + * @package Stomp + * @author Hiram Chirino <hiram@hiramchirino.com> + * @author Dejan Bosanac <dejan@nighttale.net> + * @author Michael Caplan <mcaplan@labnet.net> + * @version $Revision: 36 $ + */ +class Stomp_Frame +{ + public $command; + public $headers = array(); + public $body; + + /** + * Constructor + * + * @param string $command + * @param array $headers + * @param string $body + */ + public function __construct ($command = null, $headers = null, $body = null) + { + $this->_init($command, $headers, $body); + } + + protected function _init ($command = null, $headers = null, $body = null) + { + $this->command = $command; + if ($headers != null) { + $this->headers = $headers; + } + $this->body = $body; + + if ($this->command == 'ERROR') { + require_once 'Stomp/Exception.php'; + throw new Stomp_Exception($this->headers['message'], 0, $this->body); + } } /** @@ -74,7 +74,8 @@ class Stomp_Frame $data .= "\n"; $data .= $this->body; - return $data .= "\x00\n"; - }
-}
+ $data .= "\x00\n"; // Should there really be a linefeed here? + return $data; + } +} ?>
\ No newline at end of file diff --git a/extlib/Stomp/Message.php b/extlib/Stomp/Message.php index 6bcad3efd..055662133 100644 --- a/extlib/Stomp/Message.php +++ b/extlib/Stomp/Message.php @@ -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); } } |