veilletech.fr
23 oct. Feed du jour
#09 SYMFONY Article

Symfony 8.2 : HttpClient lit enfin les trailers HTTP

Ce que le serveur dit après le corps, on peut enfin le lire.

HttpClient de Symfony 8.2 expose les trailers HTTP, ces en-têtes envoyés après le corps de la réponse, qu'il jetait jusqu'ici. Ils se lisent dans une nouvelle information trailers, nulle tant que le transfert n'est pas terminé. Le handler Guzzle gère aussi l'option on_trailers.

2 min de lectureavancévidéo 1:10
Partager
Sommaire4 sections
  1. Ce qui se passe
  2. Ce que ça change dans 8.2
  3. Comment s'y prendre
  4. À retenir

Ce qui se passe

Les trailers HTTP sont des champs d'en-tête que le serveur envoie après le corps de la réponse. Ils servent quand une valeur n'est connue qu'une fois tout le corps produit : une empreinte du contenu, ou l'état final d'une opération diffusée en flux. Le cas le plus connu est gRPC, qui rend le résultat de chaque appel dans grpc-status et grpc-message. Jusqu'ici, le composant HttpClient de Symfony les écartait sans rien dire.

Ce que ça change dans 8.2

Les réponses exposent une nouvelle information trailers, lue avec getInfo() :

PHP
$response = $client->request('GET', 'https://api.example.com/export');
$response->getContent();                    // aller au bout du transfert

$trailers = $response->getInfo('trailers'); // null, [] ou ['x-checksum' => ['…']]

Comment s'y prendre

Quand Symfony 8.2 sera disponible : lire les trailers après avoir consommé le corps, pour parler à un service gRPC ou vérifier une empreinte, et écrire les tests avec MockResponse.

Source : Symfony, « New in Symfony 8.2: HTTP Trailers », 22 octobre 2026. Source en anglais.