SSE (Server-Sent Events)
SSE-эндпоинт предоставляет push-уведомления в реальном времени при записи новых отладочных данных в хранилище.
Эндпоинт
GET /debug/api/event-streamПринцип работы
Сервер опрашивает хранилище каждую секунду, вычисляя MD5-хеш сводных данных. При записи новой отладочной записи хеш изменяется и всем подключенным клиентам отправляется событие.
Формат события
data: {"type": "debug-updated", "payload": []}| Поле | Описание |
|---|---|
type | Всегда debug-updated |
payload | Зарезервировано для будущего использования (пустой массив) |
Использование на клиенте
javascript
const source = new EventSource('/debug/api/event-stream');
source.onmessage = (event) => {
const data = JSON.parse(event.data);
if (data.type === 'debug-updated') {
// Обновить список записей отладки
}
};Примечания
- SSE-поток не оборачивается ResponseDataWrapper
AppDevPanel\Api\Debug\Middleware\ResponseDataWrapperClass ResponseDataWrapper. -- используется нативный формат text/event-stream, а не JSON-конверт. - Соединение остается открытым до отключения клиента.
- Действует IP-фильтрация -- подключаться могут только разрешенные IP (по умолчанию:
127.0.0.1,::1).