✏️ 编辑:Api.php
路径:
/home/boguraj1/.trash/vendor/facade/flare-client-php/src/Api.php
大小:1.67 KB · 修改:2026-07-23 16:13:46 · 权限:0644 · 可写
← 返回目录
👁 查看
⬇ 下载
<?php namespace Facade\FlareClient; use Exception; use Facade\FlareClient\Http\Client; use Facade\FlareClient\Truncation\ReportTrimmer; class Api { /** @var \Facade\FlareClient\Http\Client */ protected $client; /** @var bool */ public static $sendInBatches = true; /** @var array */ protected $queue = []; public function __construct(Client $client) { $this->client = $client; register_shutdown_function([$this, 'sendQueuedReports']); } public static function sendReportsInBatches(bool $batchSending = true) { static::$sendInBatches = $batchSending; } public function report(Report $report) { try { if (static::$sendInBatches) { $this->addReportToQueue($report); } else { $this->sendReportToApi($report); } } catch (Exception $e) { // } } public function sendTestReport(Report $report) { $this->sendReportToApi($report); } protected function addReportToQueue(Report $report) { $this->queue[] = $report; } public function sendQueuedReports() { try { foreach ($this->queue as $report) { $this->sendReportToApi($report); } } catch (Exception $e) { // } finally { $this->queue = []; } } protected function sendReportToApi(Report $report) { $this->client->post('reports', $this->truncateReport($report->toArray())); } protected function truncateReport(array $payload): array { return (new ReportTrimmer())->trim($payload); } }
💾 保存
取消
保存为 UTF-8,换行统一为 LF