SSE Tester

2 min czytania

SSE Tester

SSE Tester to narzędzie przeglądarkowe w postaci jednego pliku, znajdujące się w tools/test-sse. Pozwala zapisać się do dowolnej liczby kanałów PostgreSQL NOTIFY przez działające na żywo połączenie Server-Sent Events i obserwować przychodzące zdarzenia w czasie rzeczywistym.

Funkcje

  • Subskrypcje wielu kanałów — dodawaj lub usuwaj kanały jako tagi (pill tags) przed połączeniem. Wszystkie kanały są przekazywane jako parametr zapytania ?channels= oddzielony przecinkami.
  • Wszystkie metody uwierzytelniania — zakładka Password używa HTTP Basic Auth (bezpośrednie dane logowania, bez potrzeby JWT); zakładka Bearer Token przyjmuje JWT lub token API.
  • Strumień na żywo — wykorzystuje Fetch Streams API z AbortController dla czystego rozłączenia. Linie SSE są parsowane ręcznie, dzięki czemu pola event:, data: oraz heartbeat (:) są obsługiwane prawidłowo.
  • Podświetlanie składni JSON — payloady danych będące poprawnym JSON-em są formatowane z kolorowym podświetleniem.
  • Trwałe ustawienia — URL API, prefiks, baza danych, dane logowania oraz lista kanałów są zapisywane w localStorage.

Uwierzytelnianie

Narzędzie weryfikuje dane logowania przed odblokowaniem panelu subskrypcji. Kliknięcie Verify & Continue wywołuje capabilities z wybranym nagłówkiem — jeśli PgArachne zwróci poprawną odpowiedź, panel subskrypcji zostaje odblokowany.

  • Zakładka Password — wysyła Authorization: Basic <base64(user:pass)>. Użytkownik bazy danych musi mieć GRANT EXECUTE na docelowych funkcjach oraz dostęp do endpointu SSE; GRANT <role> TO pgarachne nie jest wymagany.
  • Zakładka Bearer Token — wysyła Authorization: Bearer <token>. Wklej JWT (uzyskany za pomocą JWT Getter) lub długotrwały token API.
Jak go włączyć: Ustaw STATIC_FILES_PATH na tools/test-sse i odwiedź http://localhost:8080. Możesz też otworzyć index.html bezpośrednio w przeglądarce — cała funkcjonalność działa bez lokalnego serwera.