SSE Tester

2 хв читання

SSE Tester

SSE Tester — це однофайловий браузерний інструмент, розташований у tools/test-sse. Він дозволяє підписатися на будь-яку кількість каналів PostgreSQL NOTIFY через живе з’єднання Server-Sent Events і спостерігати за вхідними подіями в реальному часі.

Можливості

  • Підписки на кілька каналів — додавайте або видаляйте канали у вигляді тегів-«пігулок» перед підключенням. Усі канали передаються як параметр запиту ?channels=, розділені комами.
  • Усі методи автентифікації — вкладка Password використовує HTTP Basic Auth (прямі облікові дані, JWT не потрібен); вкладка Bearer Token приймає JWT або API-токен.
  • Живий потік — використовує Fetch Streams API з AbortController для коректного відключення. Рядки SSE розбираються вручну, тож поля event:, data: та heartbeat (:) обробляються правильно.
  • Підсвічування синтаксису JSON — вміст даних, що є валідним JSON, форматується з кольоровим виділенням.
  • Збереження налаштувань — URL API, префікс, база даних, дані входу та список каналів зберігаються в localStorage.

Автентифікація

Інструмент перевіряє облікові дані перед тим, як показати панель підписки. Натискання Verify & Continue викликає capabilities з обраним заголовком — якщо PgArachne повертає успішну відповідь, панель підписки розблоковується.

  • Вкладка Password — надсилає Authorization: Basic <base64(user:pass)>. Користувач бази даних повинен мати GRANT EXECUTE на цільові функції та доступ до ендпоінту SSE; GRANT <role> TO pgarachne не потрібен.
  • Вкладка Bearer Token — надсилає Authorization: Bearer <token>. Вставте JWT (отриманий через JWT Getter) або довгостроковий API-токен.
Як увімкнути: Встановіть STATIC_FILES_PATH на tools/test-sse і відвідайте http://localhost:8080. Або відкрийте index.html безпосередньо в браузері — усі функції працюють без локального сервера.