src/Guzzle/Http/Curl/CurlHandle.php
public function updateRequestFromTransfer(RequestInterface $request)
    {
        if (!$request->getResponse()) {
            return;
        }

        // Update the transfer stats of the response
        $request->getResponse()->setInfo($this->getInfo());

        if (!$log = $this->getStderr(true)) {
            return;
        }

        // Parse the cURL stderr output for outgoing requests
        $headers = '';
        fseek($log, 0);
        while (($line = fgets($log)) !== false) {
            if ($line && $line[0] == '>') {
                $headers = substr(trim($line), 2) . "\r\n";
                while (($line = fgets($log)) !== false) {
                    if ($line[0] == '*' || $line[0] == '<') {
                        break;
                    } else {
                        $headers .= trim($line) . "\r\n";
                    }
                }
            }
        }

        // Add request headers to the request exactly as they were sent
        if ($headers) {
            $parsed = ParserRegistry::getInstance()->getParser('message')->parseRequest($headers);
            if (!empty($parsed['headers'])) {
                $request->setHeaders(array());
                foreach ($parsed['headers'] as $name => $value) {
                    $request->setHeader($name, $value);
                }
            }
            if (!empty($parsed['version'])) {
                $request->setProtocolVersion($parsed['version']);
            }
        }
    }
public function updateRequestFromTransfer(RequestInterface $request)
    {
        if (!$request->getResponse()) {
            return;
        }

        // Update the transfer stats of the response
        $request->getResponse()->setInfo($this->getInfo());

        if (!$log = $this->getStderr(true)) {
            return;
        }

        // Parse the cURL stderr output for outgoing requests
        $headers = '';
        fseek($log, 0);
        while (($line = fgets($log)) !== false) {
            if ($line && $line[0] == '>') {
                $headers = substr(trim($line), 2) . "\r\n";
                while (($line = fgets($log)) !== false) {
                    if ($line[0] == '*' || $line[0] == '<') {
                        break;
                    } else {
                        $headers .= trim($line) . "\r\n";
                    }
                }
            }
        }

        // Add request headers to the request exactly as they were sent
        if ($headers) {
            $parsed = ParserRegistry::getInstance()->getParser('message')->parseRequest($headers);
            if (!empty($parsed['headers'])) {
                $request->setHeaders(array());
                foreach ($parsed['headers'] as $name => $value) {
                    $request->setHeader($name, $value);
                }
            }
            if (!empty($parsed['version'])) {
                $request->setProtocolVersion($parsed['version']);
            }
        }
    }
public function updateRequestFromTransfer ( RequestInterface $ request ) { if ( ! $ request -> getResponse ( ) ) { return ; } // Update the transfer stats of the response $ request -> getResponse ( ) -> setInfo ( $ this -> getInfo ( ) ) ; if ( ! $ log = $ this -> getStderr ( true ) ) { return ; } // Parse the cURL stderr output for outgoing requests $ headers = '' ; fseek ( $ log , 0 ) ; while ( ( $ line = fgets ( $ log ) ) !== false ) { if ( $ line && $ line [ 0 ] == '>' ) { $ headers = substr ( trim ( $ line ) , 2 ) . "\r\n" ; while ( ( $ line = fgets ( $ log ) ) !== false ) { if ( $ line [ 0 ] == '*' || $ line [ 0 ] == '<' ) { break ; } else { $ headers .= trim ( $ line ) . "\r\n" ; } } } } // Add request headers to the request exactly as they were sent if ( $ headers ) { $ parsed = ParserRegistry :: getInstance ( ) -> getParser ( 'message' ) -> parseRequest ( $ headers ) ; if ( ! empty ( $ parsed [ 'headers' ] ) ) { $ request -> setHeaders ( array ( ) ) ; foreach ( $ parsed [ 'headers' ] as $ name => $ value ) { $ request -> setHeader ( $ name , $ value ) ; } } if ( ! empty ( $ parsed [ 'version' ] ) ) { $ request -> setProtocolVersion ( $ parsed [ 'version' ] ) ; } } }
Update a request based on the log messages of the CurlHandle

@param RequestInterface $request Request to update
Update a request based on the log messages of the CurlHandle