getBody() gëtt eng Stream-Interface zréck och wann Guzzle d'Äntwert schonn erofgelueden huet. Fir eng inkrementell Netzwierk-Liwwerung duerch e Forward-Proxy unzefroen, setzt stream op d'Ufro:

$response = $client->request('GET', 'https://example.com/stream', [
    'proxy' => 'http://proxy.example:8080',
    'stream' => true,
    'read_timeout' => 10,
]);
$body = $response->getBody();

Dëst benotzt en existente Client; fir en ëffentlechen HTTP-Endpunkt wielt eng Adress aus der HTTP-Proxy-Lëscht an ersetzt d'Beispill-Proxy-URL. Streaming-Ënnerstëtzung hänkt vun hirem Handler of; d'Stream-Interface eleng kann Iech net soen, ob den Handler de Body inkrementell geliwwert huet.

Wann d'Äntwert ukommt, liest weider begrenzte Deeler. D'Konvertéiere vun $body an eng Zeechenketten sammelt de ganzen Body nach eng Kéier. En Zeilenparser kann och hänken ze schéngen, während hien op eng nei Zeil waart, obwuel Netzwierkbytes ukomm sinn. Dat sinn Verbrauchsverzögerungen, also eng Ännerung vum Proxy wäert se net ewechhuelen.

read_timeout limitéiert eenzel Lese-Waartzäiten ënner der ënnerstëtzter Stream-Implementéierung. Et gëtt engem endlosen Feed keng total Liewensdauer vun zéng Sekonnen. Behandelt Timeout, EOF a Feeler getrennt, a schléisst de Body wann d'Veraarbechtung ophält oder annuléiert gëtt.

Ähnlech Artikelen