hosmelq/sse-saloon
Composer 安装命令:
composer require hosmelq/sse-saloon
包简介
A Saloon plugin for consuming Server-Sent Events (SSE) streams.
README 文档
README
A Saloon plugin that adds Server-Sent Events support to your HTTP requests. Built on the hosmelq/sse-php library for WHATWG-compliant SSE parsing.
Requirements
- PHP 8.2+
Installation
composer require hosmelq/sse-saloon
Basic Usage
Add the HasServerSentEvents trait to your request class:
use HosmelQ\SSE\Saloon\Traits\HasServerSentEvents; use Saloon\Http\Request; use Saloon\Enums\Method; class StreamNotifications extends Request { use HasServerSentEvents; protected Method $method = Method::GET; public function resolveEndpoint(): string { return '/notifications/stream'; } }
Send the request and process events:
$response = $connector->send(new StreamNotifications()); foreach ($response->asEventSource()->events() as $event) { echo "Data: {$event->data}\n"; echo "Event: {$event->event}\n"; echo "ID: {$event->id}\n"; }
Custom Headers and Configuration
Override the default methods to add authentication, custom headers, or configure connection settings:
use HosmelQ\SSE\Saloon\Traits\HasServerSentEvents; use Saloon\Http\Request; use Saloon\Enums\Method; class CustomizedStream extends Request { use HasServerSentEvents { defaultConfig as defaultSSEConfig; defaultHeaders as defaultSSEHeaders; } protected Method $method = Method::GET; public function __construct(private int $readTimeout, private string $token) {} public function resolveEndpoint(): string { return '/api/stream'; } protected function defaultConfig(): array { return array_merge($this->defaultSSEConfig(), [ 'read_timeout' => $this->readTimeout, ]); } protected function defaultHeaders(): array { return array_merge($this->defaultSSEHeaders(), [ 'Authorization' => 'Bearer ' . $this->token, ]); } }
For detailed information about event processing, parsing, and handling, see the hosmelq/sse-php documentation.
Error Handling
use HosmelQ\SSE\SSEProtocolException; try { $response = $connector->send(new EventStreamRequest()); foreach ($response->asEventSource()->events() as $event) { } } catch (SSEProtocolException $e) { echo 'SSE Error: ' . $e->getMessage(); }
Testing
composer test
Changelog
See CHANGELOG.md for a list of changes.
Credits
License
The MIT License (MIT). Please see License File for more information.
hosmelq/sse-saloon 适用场景与选型建议
hosmelq/sse-saloon 是一款 基于 PHP 开发的 Composer 扩展包,目前已累计 4.63k 次下载、GitHub Stars 达 4, 最近一次更新时间为 2025 年 07 月 15 日, 在 PHP 生态内属于活跃度较高的组件。
它主要适用于以下技术方向: 「php」 「stream」 「event-source」 「server-sent-events」 「sse」 「saloon」 等业务场景。在实际项目中,围绕这些方向常见需要落地的问题包括:接口对接、性能调优、并发安全、与既有框架(Laravel / ThinkPHP / Yii / Webman 等)的兼容适配,以及生产环境的日志埋点与稳定性保障。
我们在过去多个企业项目中使用过 hosmelq/sse-saloon 或与其功能相近的方案,如果你在选型或落地过程中遇到问题,例如 版本兼容、二次改造、私有化封装、与内部系统对接、生产 BUG 排查,欢迎联系我们协助评估。
基于 hosmelq/sse-saloon 在你已有业务上做功能扩展、字段裁剪、UI 适配、与内部账号 / 权限 / 日志系统的深度对接。
线上偶发问题、内存泄漏、慢查询、并发异常等排查修复;针对高流量场景做缓存、队列、索引层面的调优。
承接完整的项目从需求 → 设计 → 开发 → 上线 → 长期运维;也可按月提供技术保姆服务。
与 hosmelq/sse-saloon 相关的其它包
同方向 / 同关键字的高下载量 PHP Composer 包推荐,方便对比选型:
A PHP 5.3 library for creating an EventSource stream.
Object-Oriented API for PHP streams
Safely namespaced guzzle psr7 for WP2Static
A PHP library for consuming Server-Sent Events (SSE) streams with WHATWG compliance.
Interface for a factory to create Psr\Http\Message\StreamInterface objects
Implementation of webignition/stream-factory-interface
统计信息
- 总下载量: 4.63k
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 4
- 点击次数: 25
- 依赖项目数: 2
- 推荐数: 0
其他信息
- 授权协议: MIT
- 更新时间: 2025-07-15