3 * Part of Linksys WRT3G tools
8 * @package linksys-wrt3g-tools
9 * @author Christian Weiske <cweiske@cweiske.de>
11 * @link http://cweiske.de/linksys-wrt3g-tools.htm
15 * Observer to catch debugging data from the HTTP request.
18 * @package linksys-wrt3g-tools
19 * @author Christian Weiske <cweiske@cweiske.de>
21 * @link http://cweiske.de/linksys-wrt3g-tools.htm
23 class Wrt3g_RequestObserver implements SplObserver
26 protected static $supportedEvents = array(
27 'connect', 'sentHeaders', 'receivedBody', 'disconnect'
33 * @param Wrt3g $wrt3g Logger
35 public function __construct(Wrt3g $wrt3g)
37 $this->wrt3g = $wrt3g;
43 * Receive notification from HTTP_Request2
45 * @param SplSubject $subject The request object
49 public function update(SplSubject $subject)
51 $event = $subject->getLastEvent();
52 if (!in_array($event['name'], self::$supportedEvents)) {
56 if ($event['name'] == 'receivedBody') {
57 $resp = $event['data'];
59 = $resp->getStatus() . ' ' . $resp->getReasonPhrase() . "\n"
60 . 'Header: ' . var_export($resp->getHeader(), true)
61 . $resp->getBody() . "\n----\n";
65 'event: ' . $event['name'] . ', '
66 . 'data: ' . $event['data'],