public function update(SplSubject $subject)
    {
        $event = $subject->getLastEvent();
        if (!in_array($event['name'], $this->events)) {
            return;
        }

        switch ($event['name']) {
        case 'connect':
            $this->log('* Connected to ' . $event['data']);
            break;
        case 'sentHeaders':
            $headers = explode("\r\n", $event['data']);
            array_pop($headers);
            foreach ($headers as $header) {
                $this->log('> ' . $header);
            }
            break;
        case 'sentBody':
            $this->log('> ' . $event['data'] . ' byte(s) sent');
            break;
        case 'receivedHeaders':
            $this->log(sprintf(
                '< HTTP/%s %s %s', $event['data']->getVersion(),
                $event['data']->getStatus(), $event['data']->getReasonPhrase()
            ));
            $headers = $event['data']->getHeader();
            foreach ($headers as $key => $val) {
                $this->log('< ' . $key . ': ' . $val);
            }
            $this->log('< ');
            break;
        case 'receivedBody':
            $this->log($event['data']->getBody());
            break;
        case 'disconnect':
            $this->log('* Disconnected');
            break;
        }
    }
public function update(SplSubject $subject)
    {
        $event = $subject->getLastEvent();
        if (!in_array($event['name'], $this->events)) {
            return;
        }

        switch ($event['name']) {
        case 'connect':
            $this->log('* Connected to ' . $event['data']);
            break;
        case 'sentHeaders':
            $headers = explode("\r\n", $event['data']);
            array_pop($headers);
            foreach ($headers as $header) {
                $this->log('> ' . $header);
            }
            break;
        case 'sentBody':
            $this->log('> ' . $event['data'] . ' byte(s) sent');
            break;
        case 'receivedHeaders':
            $this->log(sprintf(
                '< HTTP/%s %s %s', $event['data']->getVersion(),
                $event['data']->getStatus(), $event['data']->getReasonPhrase()
            ));
            $headers = $event['data']->getHeader();
            foreach ($headers as $key => $val) {
                $this->log('< ' . $key . ': ' . $val);
            }
            $this->log('< ');
            break;
        case 'receivedBody':
            $this->log($event['data']->getBody());
            break;
        case 'disconnect':
            $this->log('* Disconnected');
            break;
        }
    }
public function update ( SplSubject $ subject ) { $ event = $ subject -> getLastEvent ( ) ; if ( ! in_array ( $ event [ 'name' ] , $ this -> events ) ) { return ; } switch ( $ event [ 'name' ] ) { case 'connect' : $ this -> log ( '* Connected to ' . $ event [ 'data' ] ) ; break ; case 'sentHeaders' : $ headers = explode ( "\r\n" , $ event [ 'data' ] ) ; array_pop ( $ headers ) ; foreach ( $ headers as $ header ) { $ this -> log ( '> ' . $ header ) ; } break ; case 'sentBody' : $ this -> log ( '> ' . $ event [ 'data' ] . ' byte(s) sent' ) ; break ; case 'receivedHeaders' : $ this -> log ( sprintf ( '< HTTP/%s %s %s' , $ event [ 'data' ] -> getVersion ( ) , $ event [ 'data' ] -> getStatus ( ) , $ event [ 'data' ] -> getReasonPhrase ( ) ) ) ; $ headers = $ event [ 'data' ] -> getHeader ( ) ; foreach ( $ headers as $ key => $ val ) { $ this -> log ( '< ' . $ key . ': ' . $ val ) ; } $ this -> log ( '< ' ) ; break ; case 'receivedBody' : $ this -> log ( $ event [ 'data' ] -> getBody ( ) ) ; break ; case 'disconnect' : $ this -> log ( '* Disconnected' ) ; break ; } }
Called when the request notifies us of an event.

@param HTTP_Request2 $subject The HTTP_Request2 instance

@return void
Called when the request notifies us of an event .