From 6a5bf4c36f788ac0eb8112ccec0bbd371d5bbd94 Mon Sep 17 00:00:00 2001 From: Christian Weiske Date: Sat, 18 Dec 2010 00:20:16 +0100 Subject: [PATCH] make the request observer work correctly, remove response logging in main class --- Wrt3g.php | 10 ---------- Wrt3g/HtmlParser.php | 2 ++ Wrt3g/RequestObserver.php | 17 ++++++++++++++++- 3 files changed, 18 insertions(+), 11 deletions(-) diff --git a/Wrt3g.php b/Wrt3g.php index d3b9488..ee48eca 100644 --- a/Wrt3g.php +++ b/Wrt3g.php @@ -223,8 +223,6 @@ class Wrt3g */ protected function checkResponseStatus(HTTP_Request2_Response $resp) { - $this->log($resp, 3); - $nStatus = $resp->getStatus(); $this->log($nStatus . ' ' . $resp->getReasonPhrase(), 1); if (intval($nStatus / 100) == 2) { @@ -291,14 +289,6 @@ class Wrt3g public function log($msg, $level = 1) { if ($this->verbosity >= $level) { - if ($msg instanceof HTTP_Request2_Response) { - echo "HTTP Response:\n"; - echo $msg->getStatus() . ' ' . $msg->getReasonPhrase() . "\n"; - echo 'Header: '; - var_export($msg->getHeader()); - echo $msg->getBody() . "\n----\n"; - return; - } echo $msg . "\n"; } } diff --git a/Wrt3g/HtmlParser.php b/Wrt3g/HtmlParser.php index 9574cd0..bd613ac 100644 --- a/Wrt3g/HtmlParser.php +++ b/Wrt3g/HtmlParser.php @@ -20,8 +20,10 @@ class Wrt3g_HtmlParser 'GPRS_MSG.WWBEAR_GPRS' => 'GPRS', 'GPRS_MSG.WWBEAR_UMTS' => 'UMTS', 'GPRS_MSG.None' => null, + 'GPRS_MSG.FAIR' => 'fair', 'GPRS_MSG.GOOD' => 'good', 'GPRS_MSG.EXCELLENT' => 'excellent', + 'GPRS_MSG.NOSIGNAL' => 'no signal', 'GPRS_MSG.CTIME' => 'connection time', 'GPRS_MSG.CFW' => 'card firmware', 'GPRS_MSG.CMOD' => 'card model', 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 ); -- 2.30.2