Сериализация объекта Illuminate\Http\Client\Response в Laravel
Как сериализовать объект класса Illuminate\Http\Client\Response в Laravel 7.
Объект Response в Laravel представляет обертку над \GuzzleHttp\Psr7\Response.
Если попытаться использовать нативные serialize/unserialize - объект будет терять тело документа body (буфер, поток).
Чтобы все сделать правильно, нужно использовать ф-ции сериализации от Guzzle:
/** @var \Illuminate\Http\Client\Response $response */
$response = \Http::get($url);
$serializedResponse = \GuzzleHttp\Psr7\str($response->toPsrResponse());
/* @var \GuzzleHttp\Psr7\Response $unserializedResponse */
$unserializedResponse = \GuzzleHttp\Psr7\parse_response($cachedResponse);
$response = new \Illuminate\Http\Client\Response($cachedResponse);
#php, #laravel, #guzzle, #serialize,