Skip to content

Commit 022f1c1

Browse files
committed
fix: handler HEAD calls in sse routes
1 parent 537694f commit 022f1c1

File tree

4 files changed

+26
-3
lines changed

4 files changed

+26
-3
lines changed

internal/api/handlers/app_logs.go

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -80,6 +80,12 @@ func HandleAppLogs(
8080
Follow: follow,
8181
}
8282

83+
// Handle HEAD requests with erly return
84+
if r.Method == http.MethodHead {
85+
render.EncodeResponse(w, http.StatusOK, nil)
86+
return
87+
}
88+
8389
sseStream, err := render.NewSSEStream(r.Context(), w)
8490
if err != nil {
8591
slog.Error("Unable to create SSE stream", slog.String("error", err.Error()))

internal/api/handlers/app_status.go

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,12 @@ func HandlerAppStatus(
3434
cfg config.Configuration,
3535
) http.HandlerFunc {
3636
return func(w http.ResponseWriter, r *http.Request) {
37+
// Handle HEAD requests with erly return
38+
if r.Method == http.MethodHead {
39+
render.EncodeResponse(w, http.StatusOK, nil)
40+
return
41+
}
42+
3743
sseStream, err := render.NewSSEStream(r.Context(), w)
3844
if err != nil {
3945
slog.Error("Unable to create SSE stream", slog.String("error", err.Error()))

internal/api/handlers/system_resources.go

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -26,16 +26,21 @@ import (
2626

2727
func HandleSystemResources() http.HandlerFunc {
2828
return func(w http.ResponseWriter, r *http.Request) {
29-
ctx := r.Context()
30-
sseStream, err := render.NewSSEStream(ctx, w)
29+
// Handle HEAD requests with erly return
30+
if r.Method == http.MethodHead {
31+
render.EncodeResponse(w, http.StatusOK, nil)
32+
return
33+
}
34+
35+
sseStream, err := render.NewSSEStream(r.Context(), w)
3136
if err != nil {
3237
slog.Error("Unable to create SSE stream", slog.String("error", err.Error()))
3338
render.EncodeResponse(w, http.StatusInternalServerError, models.ErrorResponse{Details: "unable to create SSE stream"})
3439
return
3540
}
3641
defer sseStream.Close()
3742

38-
resources, err := orchestrator.SystemResources(ctx, nil)
43+
resources, err := orchestrator.SystemResources(r.Context(), nil)
3944
if err != nil {
4045
sseStream.SendError(render.SSEErrorData{
4146
Code: render.InternalServiceErr,

internal/api/handlers/update.go

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -127,6 +127,12 @@ 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+
// Handle HEAD requests with erly return
131+
if r.Method == http.MethodHead {
132+
render.EncodeResponse(w, http.StatusOK, nil)
133+
return
134+
}
135+
130136
sseStream, err := render.NewSSEStream(r.Context(), w)
131137
if err != nil {
132138
slog.Error("Unable to create SSE stream", slog.String("error", err.Error()))

0 commit comments

Comments
 (0)