public function cat($file, \Response $oReponse = null) { $query_string = http_build_query(array()); // récuperation de la requete require_once __DIR__ . "/Request.php"; $oRequest = new Request(); // lance la requete $response = $oRequest->send(array('verb' => 'GET', 'resource' => '/' . $this->_bucket . '/' . urlencode($file) . '?' . $query_string), $this->_auth); // vérification du code de retour if ($oRequest->info('http_code') !== 200) { // ouverture du flux xml require_once __DIR__ . "/XMLElement.php"; throw new Client_Exception(new XMLElement($response), $oRequest); } // lecture du flux if ($oReponse !== null) { $oReponse->appendBody($response); $oReponse->type($oRequest->info('content_type')); // ajout des headers pour le validator HTTP $aHeaders = $oRequest->info('headers'); $oReponse->header("ETag", $aHeaders['ETag']); $oReponse->header("Last-Modified", $aHeaders['Last-Modified']); } return $response; }