@@ -127,13 +127,17 @@ func HandleUpdateApply(updater *update.Manager) http.HandlerFunc {
127127
128128func 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