sse support

This commit is contained in:
2026-01-20 20:48:19 -07:00
parent 88eb917381
commit 1130366bf5
15 changed files with 886 additions and 29 deletions
+16 -4
View File
@@ -150,8 +150,7 @@ func runAuthProcesses(ctx context.Context, auth *authentication.Authenticator) <
}
func runServer(ctx context.Context, logger *logging.Logger, connPool *pgxpool.Pool, auth *authentication.Authenticator) <-chan error {
r := server.Router(
ctx,
r := server.NewRouter(
logger.WithGroup("server"),
"./",
raw_events.NewStore(logger.WithGroup("raw-event-store"), connPool),
@@ -190,6 +189,18 @@ func runServer(ctx context.Context, logger *logging.Logger, connPool *pgxpool.Po
}
}()
sseErrCh := make(chan error, 1)
go func() {
defer close(sseErrCh)
defer cancel()
defer logger.Info("server side events stopped")
logger.Info("server side events streaming...")
if err := r.RunSSE(ctx); err != nil {
sseErrCh <- err
}
}()
shutdownErrCh := make(chan error, 1)
go func() {
defer close(shutdownErrCh)
@@ -212,8 +223,9 @@ func runServer(ctx context.Context, logger *logging.Logger, connPool *pgxpool.Po
defer close(errCh)
err1 := <-runningErrCh
err2 := <-shutdownErrCh
if err := errors.Join(err1, err2); err != nil {
err2 := <-sseErrCh
err3 := <-shutdownErrCh
if err := errors.Join(err1, err2, err3); err != nil {
errCh <- err
}
}()