ولې د Guzzle د بدن جریان لا هم بفر کیدی شي
د بدن انٹرفیس، د ټرانسپورټ سپارل او ستاسو خپل پارسر کولی شي په خپلواکه توګه بفر کړي. stream په ښکاره توګه وکاروئ او مصرف پرلهپسې وساتئ.
getBody() د جریان انٹرفیس بیرته راګرځوي حتی کله چې Guzzle دمخه ځواب ډاونلوډ کړی وي. د مخکیني پروکسي له لارې پرلهپسې شبکهیي سپارل غوښتلو لپاره، په غوښتنه کې stream وټاکئ:
$response = $client->request('GET', 'https://example.com/stream', [
'proxy' => 'http://proxy.example:8080',
'stream' => true,
'read_timeout' => 10,
]);
$body = $response->getBody();
دا یو شتون لرونکی کلینټ کاروي؛ د عامې HTTP پای نقطې لپاره، د HTTP پروکسي لیست څخه یو پته وټاکئ او د بېلګې پروکسي URL بدل کړئ. د جریان ملاتړ د هغې د هینډلر پورې اړه لري؛ یوازې د جریان انٹرفیس نشي کولی تاسو ته ووایي چې هینډلر بدن پرلهپسې سپارلی که نه.
کله چې ځواب ورسیږي، محدود برخې لوستل ادامه ورکړئ. $body په تار بدلول بیا ټول بدن راټولوي. د کرښې پارسر هم کیدای شي د نوي کرښې په تمه ولاړ ښکاره شي، که څه هم د شبکې بایټونه رسیدلي وي. دا د مصرف ځنډونه دي، نو د پروکسي بدلول به یې لرې نه کړي.
read_timeout د ملاتړ شوي جریان پلي کولو لاندې انفرادي لوستلو انتظار محدودوي. دا یو پای نه لرونکي فیډ ته د لسو ثانیو ټول عمر نه ورکوي. ټایم آوټ، EOF او تېروتنې په جلا توګه اداره کړئ، او بدن وتړئ کله چې پروسس پای ومومي یا لغوه شي.