• Время чтения ~0 мин
  • 26.06.2023

Марсель Почио (Marcel Pociot) поделился советом по использованию метода HTTP-клиента Laravel sink() для написания ответа на файл:

Я только что узнал об аккуратном маленьком недокументированном методе @laravelphp HTTP-клиента.

Метод "sink" позволяет передать имя файла или ресурса. Ответ на запрос будет записан в этот файл.

Это позволяет очень легко загружать удаленные файлы с дополнительными заголовками pic.twitter.com/ZHHURltcfA

— Marcel Pociot 🧪 (@marcelpociot) June 20, 2023

Опция запроса приемника также доступна в клиентской библиотеке Guzzle HTTP, ранее она была save_to опцией запроса:

$client->request('GET', '/stream/20', ['sink' => '/path/to/file']);

// PHP stream
$resource = \GuzzleHttp\Psr7\Utils::tryFopen('/path/to/file', 'w');
$stream = \GuzzleHttp\Psr7\Utils::streamFor($resource);
$client->request('GET', '/stream/20', ['sink' => $stream]);

Если вы хотите узнать больше обо всех замечательных функциях, предоставляемых классом HTTP-запросов Laravel, ознакомьтесь с документацией по HTTP-запросам. Источник PendingRequest — еще один отличный ресурс, позволяющий увидеть, как работает HTTP-клиент Laravel под капотом.

Comments

No comments yet
Yurij Finiv

Yurij Finiv

Full stack

Про мене

Professional Fullstack Developer with extensive experience in website and desktop application development. Proficient in a wide range of tools and technologies, including Bootstrap, Tailwind, HTML5, CSS3, PUG, JavaScript, Alpine.js, jQuery, PHP, MODX, and Node.js. Skilled in website development using Symfony, MODX, and Laravel. Experience: Contributed to the development and translation of MODX3 i...

Об авторе CrazyBoy49z
WORK EXPERIENCE
Контакты
Ukraine, Lutsk
+380979856297