From 8087d40cd445a64afad801e5f2ff46fb7fbae467 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?U=C4=9Fur=20=C3=96zy=C4=B1lmazel?= Date: Sat, 3 Jan 2026 21:11:37 +0300 Subject: [PATCH] Fix GitLab webhook response status code MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Change response from 202 Accepted to 200 OK per GitLab's webhook documentation which recommends 200 or 201 status codes. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 --- .../gitlabwebhookhandler/gitlabwebhookhandler.go | 2 +- .../gitlabwebhookhandler_test.go | 12 ++++++------ 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/internal/transport/http/gitlabwebhookhandler/gitlabwebhookhandler.go b/internal/transport/http/gitlabwebhookhandler/gitlabwebhookhandler.go index cb0de5e..84ec4d0 100644 --- a/internal/transport/http/gitlabwebhookhandler/gitlabwebhookhandler.go +++ b/internal/transport/http/gitlabwebhookhandler/gitlabwebhookhandler.go @@ -154,7 +154,7 @@ func (h Handler) Handle(ctx *fasthttp.RequestCtx) { }() h.Logger.Info("gitlab webhook received successfully") - ctx.SetStatusCode(fasthttp.StatusAccepted) + ctx.SetStatusCode(fasthttp.StatusOK) } func (h Handler) checkRequired() error { diff --git a/internal/transport/http/gitlabwebhookhandler/gitlabwebhookhandler_test.go b/internal/transport/http/gitlabwebhookhandler/gitlabwebhookhandler_test.go index 4f21478..da81005 100644 --- a/internal/transport/http/gitlabwebhookhandler/gitlabwebhookhandler_test.go +++ b/internal/transport/http/gitlabwebhookhandler/gitlabwebhookhandler_test.go @@ -323,7 +323,7 @@ func TestHandle_Success_ObjectKind(t *testing.T) { handler.Handle(ctx) - assert.Equal(t, fasthttp.StatusAccepted, ctx.Response.StatusCode()) + assert.Equal(t, fasthttp.StatusOK, ctx.Response.StatusCode()) assert.NotEmpty(t, <-messageQueue) } @@ -356,7 +356,7 @@ func TestHandle_Success_EventName(t *testing.T) { handler.Handle(ctx) - assert.Equal(t, fasthttp.StatusAccepted, ctx.Response.StatusCode()) + assert.Equal(t, fasthttp.StatusOK, ctx.Response.StatusCode()) assert.NotEmpty(t, <-messageQueue) } @@ -391,7 +391,7 @@ func TestHandle_Success_PushEvent_FlatUser(t *testing.T) { handler.Handle(ctx) - assert.Equal(t, fasthttp.StatusAccepted, ctx.Response.StatusCode()) + assert.Equal(t, fasthttp.StatusOK, ctx.Response.StatusCode()) msg := <-messageQueue assert.NotNil(t, msg) assert.Equal(t, string(msg.Value.(sarama.ByteEncoder)), body) @@ -428,7 +428,7 @@ func TestHandle_Success_UserAddToGroup(t *testing.T) { handler.Handle(ctx) - assert.Equal(t, fasthttp.StatusAccepted, ctx.Response.StatusCode()) + assert.Equal(t, fasthttp.StatusOK, ctx.Response.StatusCode()) assert.NotEmpty(t, <-messageQueue) } @@ -461,7 +461,7 @@ func TestHandle_Success_SubgroupCreate(t *testing.T) { handler.Handle(ctx) - assert.Equal(t, fasthttp.StatusAccepted, ctx.Response.StatusCode()) + assert.Equal(t, fasthttp.StatusOK, ctx.Response.StatusCode()) assert.NotEmpty(t, <-messageQueue) } @@ -497,5 +497,5 @@ func TestMessageQueue_Full(t *testing.T) { // Wait a bit for goroutine to execute default case (queue full) time.Sleep(50 * time.Millisecond) - assert.Equal(t, fasthttp.StatusAccepted, ctx.Response.StatusCode()) + assert.Equal(t, fasthttp.StatusOK, ctx.Response.StatusCode()) }