Skip to content

Коллектор HTTP-потоков

Захватывает операции обёрток HTTP/HTTPS-потоков — запросы, выполненные через file_get_contents('http://...'), fopen('https://...') и аналогичные PHP-функции потоков.

Панель коллектора HTTP-потоков

Собираемые данные

ПолеОписание
operationТип операции потока (open, read, stat и др.)
uriHTTP/HTTPS URL, к которому выполнен доступ
argsАргументы операции

Схема данных

Операции сгруппированы по типу:

json
{
    "open": [
        {"uri": "https://api.example.com/data", "args": {"mode": "r"}}
    ]
}

Сводка (отображается в списке отладочных записей):

json
{
    "http_stream": {
        "open": 2,
        "read": 2
    }
}

Контракт

php
use AppDevPanel\Kernel\Collector\Stream\HttpStreamCollector;

$collector->collect(
    operation: 'open',
    path: 'https://api.example.com/data',
    args: ['mode' => 'r'],
);

Как это работает

Коллектор использует прокси обёртки PHP-потоков (HttpStreamProxyAppDevPanel\Kernel\Collector\Stream\HttpStreamProxyDecorator proxy for Http Stream. Intercepts calls and forwards data to collectors.final Kernel · class · implements StreamWrapperInterface), которая регистрируется для протоколов http:// и https://. Операции потоков через нативные PHP-функции перехватываются. Пути, соответствующие шаблонам excludePaths, игнорируются.

WARNING

Этот коллектор захватывает только HTTP-запросы, выполненные через PHP-функции потоков (file_get_contents, fopen). Для вызовов PSR-18 HTTP-клиента используйте коллектор HTTP-клиента.

Панель отладки

Выпущено под лицензией MIT.