From 64236c99c9fe2493b997be9bcbd4b748bf15a379 Mon Sep 17 00:00:00 2001 From: Gabe Farrell <90876006+gabehf@users.noreply.github.com> Date: Mon, 26 Jan 2026 14:49:30 -0500 Subject: [PATCH] fix: invalid json response when login gate is disabled (#184) --- engine/long_test.go | 13 +++++++++++++ engine/middleware/authenticate.go | 7 +++---- 2 files changed, 16 insertions(+), 4 deletions(-) diff --git a/engine/long_test.go b/engine/long_test.go index d916117..db86ac2 100644 --- a/engine/long_test.go +++ b/engine/long_test.go @@ -367,6 +367,16 @@ func TestLoginGate(t *testing.T) { assert.NoError(t, err) assert.Equal(t, 204, resp.StatusCode) + req, err = http.NewRequest("GET", host()+"/apis/web/v1/artist?id=3", nil) + require.NoError(t, err) + resp, err = http.DefaultClient.Do(req) + assert.NoError(t, err) + assert.Equal(t, 200, resp.StatusCode) + var artist models.Artist + err = json.NewDecoder(resp.Body).Decode(&artist) + require.NoError(t, err) + assert.Equal(t, "ネクライトーキー", artist.Name) + cfg.SetLoginGate(true) req, err = http.NewRequest("GET", host()+"/apis/web/v1/artist?id=3", nil) @@ -382,6 +392,9 @@ func TestLoginGate(t *testing.T) { resp, err = http.DefaultClient.Do(req) assert.NoError(t, err) assert.Equal(t, 200, resp.StatusCode) + err = json.NewDecoder(resp.Body).Decode(&artist) + require.NoError(t, err) + assert.Equal(t, "ネクライトーキー", artist.Name) cfg.SetLoginGate(false) diff --git a/engine/middleware/authenticate.go b/engine/middleware/authenticate.go index a435473..830fb78 100644 --- a/engine/middleware/authenticate.go +++ b/engine/middleware/authenticate.go @@ -62,6 +62,7 @@ func Authenticate(store db.DB, mode AuthMode) func(http.Handler) http.Handler { } } else { next.ServeHTTP(w, r) + return } } @@ -76,10 +77,8 @@ func Authenticate(store db.DB, mode AuthMode) func(http.Handler) http.Handler { return } - if user != nil { - ctx = context.WithValue(ctx, UserContextKey, user) - r = r.WithContext(ctx) - } + ctx = context.WithValue(ctx, UserContextKey, user) + r = r.WithContext(ctx) next.ServeHTTP(w, r) })