wyrihaximus / react-psr-7-stream
🎁 装饰 ReactPHP 流为 PSR-7 流
dev-main
2022-12-05 17:26 UTC
Requires
- php: ^8.1
- psr/http-message: ^1.0
- react/async: ^4.0
- react/promise-stream: ^1.5
- react/stream: ^1.2
Requires (Dev)
- react/event-loop: ^1.3
- react/http: ^1.8
- wyrihaximus/async-test-utilities: ^5.0.23
This package is auto-updated.
Last update: 2024-09-03 19:17:52 UTC
README
🎁 装饰 ReactPHP 流为 PSR-7 流
安装
要通过 Composer 安装,请使用以下命令,它将自动检测最新版本并将其绑定到 ^
。
composer require wyrihaximus/react-psr-7-stream
用法
此包假定你在纤维内部运行所有使用它的代码。以下示例使用 react/http
发送 HTTP 请求,装饰正文,并在接收完整正文之前循环。重要的是,在循环中,不要在循环内部使用任何其他 await
调用。这样做可能会让你错过 ReadableStreamInterface
的 data
事件。此包是为高性能低内存使用而构建的,它不会为你缓冲数据。
$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
特此免费授予任何人获得此软件及其相关文档文件(以下简称“软件”)的副本的权利,不受限制地处理软件,包括但不限于使用、复制、修改、合并、发布、分发、再许可和/或销售软件副本,并允许向获得软件的人提供副本,前提是满足以下条件
上述版权声明和本许可声明应包含在软件的所有副本或主要部分中。
软件按“原样”提供,不提供任何明示或暗示的保证,包括但不限于适销性、特定用途的适用性和非侵权性。在任何情况下,作者或版权所有者均不对任何索赔、损害或其他责任负责,无论此类责任是基于合同、侵权或其他原因,是否因软件或其使用或其他方式产生、产生或与此相关。