Skip to content

Commit 63b8e5b

Browse files
committed
wip: debug the update flow
1 parent 537694f commit 63b8e5b

File tree

1 file changed

+8
-2
lines changed

1 file changed

+8
-2
lines changed

internal/api/handlers/update.go

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -127,13 +127,17 @@ func HandleUpdateApply(updater *update.Manager) http.HandlerFunc {
127127

128128
func HandleUpdateEvents(updater *update.Manager) http.HandlerFunc {
129129
return func(w http.ResponseWriter, r *http.Request) {
130+
slog.Info("Client connected to SSE stream", slog.String("client", r.RemoteAddr))
130131
sseStream, err := render.NewSSEStream(r.Context(), w)
131132
if err != nil {
132133
slog.Error("Unable to create SSE stream", slog.String("error", err.Error()))
133134
render.EncodeResponse(w, http.StatusInternalServerError, models.ErrorResponse{Details: "unable to create SSE stream"})
134135
return
135136
}
136-
defer sseStream.Close()
137+
defer func() {
138+
sseStream.Close()
139+
slog.Info("SSE stream closed", slog.String("client", r.RemoteAddr))
140+
}()
137141

138142
ch := updater.Subscribe()
139143
defer updater.Unsubscribe(ch)
@@ -142,9 +146,10 @@ func HandleUpdateEvents(updater *update.Manager) http.HandlerFunc {
142146
select {
143147
case event, ok := <-ch:
144148
if !ok {
145-
slog.Info("APT event channel closed, stopping SSE stream")
149+
slog.Info("event channel closed, stopping SSE stream")
146150
return
147151
}
152+
slog.Debug("Sending update event to SSE stream", slog.String("type", event.Type.String()), slog.String("client", r.RemoteAddr))
148153
if event.Type == update.ErrorEvent {
149154
err := event.GetError()
150155
code := render.InternalServiceErr
@@ -163,6 +168,7 @@ func HandleUpdateEvents(updater *update.Manager) http.HandlerFunc {
163168
}
164169

165170
case <-r.Context().Done():
171+
slog.Info("context killed SSE stream", slog.String("client", r.RemoteAddr))
166172
return
167173
}
168174
}

0 commit comments

Comments
 (0)