getRawBody()
renvoie le corps de la réponse http tel quel.
getBody()
ajuster pour certains en-têtes, c'est-à-dire décompresser le contenu envoyé avec les en-têtes de codage de contenu gzip ou deflate. Ou l'en-tête chunked transfer-encoding.
Le moyen le plus simple de répondre à ces questions est de regarder simplement le code. C'est aussi une excellente expérience d'apprentissage. Le code est modifié pour plus de concision.
public function getRawBody()
{
return $this->body;
}
public function getBody()
{
$body = '';
// Decode the body if it was transfer-encoded
switch (strtolower($this->getHeader('transfer-encoding'))) {
case 'chunked':
// Handle chunked body
break;
// No transfer encoding, or unknown encoding extension:
default:
// return body as is
break;
}
// Decode any content-encoding (gzip or deflate) if needed
switch (strtolower($this->getHeader('content-encoding'))) {
case 'gzip':
// Handle gzip encoding
break;
case 'deflate':
// Handle deflate encoding
break;
default:
break;
}
return $body;
}