SSE Tester

2 λεπτά ανάγνωσης

SSE Tester

Το SSE Tester είναι ένα εργαλείο browser σε ένα αρχείο, που βρίσκεται στο tools/test-sse. Σας επιτρέπει να εγγραφείτε σε οποιονδήποτε αριθμό καναλιών NOTIFY της PostgreSQL μέσω μιας ζωντανής σύνδεσης Server-Sent Events και να παρακολουθείτε τα εισερχόμενα συμβάντα σε πραγματικό χρόνο.

Λειτουργίες

  • Εγγραφές πολλαπλών καναλιών — προσθέστε ή αφαιρέστε κανάλια ως ετικέτες πριν τη σύνδεση. Όλα τα κανάλια περνιούνται ως παράμετρος ερωτήματος ?channels= διαχωρισμένη με κόμμα.
  • Όλες οι μέθοδοι πιστοποίησης — η καρτέλα Password χρησιμοποιεί HTTP Basic Auth (άμεσα διαπιστευτήρια, χωρίς ανάγκη JWT)· η καρτέλα Bearer Token δέχεται ένα JWT ή API token.
  • Ζωντανή ροή — χρησιμοποιεί το Fetch Streams API με έναν AbortController για καθαρή αποσύνδεση. Οι γραμμές SSE αναλύονται χειροκίνητα ώστε τα πεδία event:, data:, και heartbeat (:) να αντιμετωπίζονται σωστά.
  • Επισήμανση σύνταξης JSON — τα payloads δεδομένων που είναι έγκυρο JSON εμφανίζονται μορφοποιημένα με έγχρωμη κωδικοποίηση.
  • Διατηρούμενες ρυθμίσεις — το API URL, το prefix, η βάση δεδομένων, τα στοιχεία σύνδεσης, και η λίστα καναλιών αποθηκεύονται στο localStorage.

Πιστοποίηση

Το εργαλείο επαληθεύει τα διαπιστευτήρια πριν αποκαλύψει τον πίνακα εγγραφής. Κάνοντας κλικ στο Verify & Continue καλείται η capabilities με την επιλεγμένη κεφαλίδα — εάν το PgArachne επιστρέψει επιτυχή απόκριση, ο πίνακας εγγραφής ξεκλειδώνεται.

  • Καρτέλα Password — στέλνει Authorization: Basic <base64(user:pass)>. Ο χρήστης της βάσης δεδομένων πρέπει να έχει GRANT EXECUTE στις συναρτήσεις-στόχους και πρόσβαση στο endpoint SSE· δεν απαιτείται GRANT <role> TO pgarachne.
  • Καρτέλα Bearer Token — στέλνει Authorization: Bearer <token>. Επικολλήστε ένα JWT (που αποκτήθηκε μέσω του JWT Getter) ή ένα μακρόβιο API token.
Πώς να το ενεργοποιήσετε: Ρυθμίστε το STATIC_FILES_PATH σε tools/test-sse και επισκεφθείτε το http://localhost:8080. Εναλλακτικά, ανοίξτε απευθείας το index.html σε έναν browser — όλες οι λειτουργίες δουλεύουν χωρίς τοπικό server.