ignore releases dir
[linksys-wrt3g-tools.git] / Wrt3g / RequestObserver.php
index 1e5224f4107cc9f782be29f493a6d5b6886e8170..f9886385e94afd8210bfc9109a4b8427c42ec4e5 100644 (file)
@@ -23,6 +23,9 @@
 class Wrt3g_RequestObserver implements SplObserver
 {
     protected $wrt3g;
+    protected static $supportedEvents = array(
+        'connect', 'sentHeaders', 'receivedBody', 'disconnect'
+    );
 
     /**
      * Create new instance
@@ -46,8 +49,20 @@ class Wrt3g_RequestObserver implements SplObserver
     public function update(SplSubject $subject)
     {
         $event = $subject->getLastEvent();
+        if (!in_array($event['name'], self::$supportedEvents)) {
+            return;
+        }
+
+        if ($event['name'] == 'receivedBody') {
+            $resp = $event['data'];
+            $event['data']
+                = $resp->getStatus() . ' ' . $resp->getReasonPhrase() . "\n"
+                . 'Header: ' . var_export($resp->getHeader(), true)
+                . $resp->getBody() . "\n----\n";
+        }
+
         $this->wrt3g->log(
-            'event: ' . $event['name'] . "\n"
+            'event: ' . $event['name'] . ', '
             . 'data: ' . $event['data'],
             3
         );