aboutsummaryrefslogtreecommitdiff
path: root/Wrt3g/RequestObserver.php
diff options
context:
space:
mode:
authorChristian Weiske <cweiske@cweiske.de>2010-12-18 00:20:16 +0100
committerChristian Weiske <cweiske@cweiske.de>2010-12-18 00:20:16 +0100
commit6a5bf4c36f788ac0eb8112ccec0bbd371d5bbd94 (patch)
tree87145daface9dbf7d54479e4304f1e7da6fd68cf /Wrt3g/RequestObserver.php
parentec85023a1006f6f2fe3ea947b6be81bb4515aa8a (diff)
downloadlinksys-wrt3g-tools-6a5bf4c36f788ac0eb8112ccec0bbd371d5bbd94.tar.gz
linksys-wrt3g-tools-6a5bf4c36f788ac0eb8112ccec0bbd371d5bbd94.zip
make the request observer work correctly, remove response logging in main class
Diffstat (limited to 'Wrt3g/RequestObserver.php')
-rw-r--r--Wrt3g/RequestObserver.php17
1 files changed, 16 insertions, 1 deletions
diff --git a/Wrt3g/RequestObserver.php b/Wrt3g/RequestObserver.php
index 1e5224f..f988638 100644
--- a/Wrt3g/RequestObserver.php
+++ b/Wrt3g/RequestObserver.php
@@ -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
);