wyrihaximus/react-psr-7-stream

🎁 装饰 ReactPHP 流为 PSR-7 流

dev-main 2022-12-05 17:26 UTC

This package is auto-updated.

Last update: 2024-09-03 19:17:52 UTC


README

🎁 装饰 ReactPHP 流为 PSR-7 流

Continuous Integration Latest Stable Version Total Downloads Code Coverage Type Coverage License

安装

要通过 Composer 安装,请使用以下命令,它将自动检测最新版本并将其绑定到 ^

composer require wyrihaximus/react-psr-7-stream

用法

此包假定你在纤维内部运行所有使用它的代码。以下示例使用 react/http 发送 HTTP 请求,装饰正文,并在接收完整正文之前循环。重要的是,在循环中,不要在循环内部使用任何其他 await 调用。这样做可能会让你错过 ReadableStreamInterfacedata 事件。此包是为高性能低内存使用而构建的,它不会为你缓冲数据。

$response = await((new Browser())->requestStreaming('GET', 'https://example.com'));
assert($response instanceof ResponseInterface);
$body = $response->getBody();
assert($body instanceof ReadableStreamInterface);
$stream = new Stream($body);
while (! $stream->eof()) {
    handleDataChunk($stream->read(PHP_INT_MAX));
}

许可

MIT 许可证 (MIT)

版权所有 © 2023 Cees-Jan Kiewiet

特此免费授予任何人获得此软件及其相关文档文件(以下简称“软件”)的副本的权利,不受限制地处理软件,包括但不限于使用、复制、修改、合并、发布、分发、再许可和/或销售软件副本,并允许向获得软件的人提供副本,前提是满足以下条件

上述版权声明和本许可声明应包含在软件的所有副本或主要部分中。

软件按“原样”提供,不提供任何明示或暗示的保证,包括但不限于适销性、特定用途的适用性和非侵权性。在任何情况下,作者或版权所有者均不对任何索赔、损害或其他责任负责,无论此类责任是基于合同、侵权或其他原因,是否因软件或其使用或其他方式产生、产生或与此相关。