diff --git a/app/http/routes/strategies.go b/app/http/routes/strategies.go index d390de04..b699a383 100644 --- a/app/http/routes/strategies.go +++ b/app/http/routes/strategies.go @@ -90,6 +90,7 @@ func (s *ServeStrategy) ServeDynamic(c *gin.Context) { } writer.Flush() + c.Header("Cache-Control", "no-cache") c.Header("Content-Type", "text/html") c.Header("Content-Length", strconv.Itoa(buf.Len())) c.Writer.Write(buf.Bytes()) diff --git a/app/http/routes/strategies_test.go b/app/http/routes/strategies_test.go index 34afa2de..40b5ea7d 100644 --- a/app/http/routes/strategies_test.go +++ b/app/http/routes/strategies_test.go @@ -73,6 +73,24 @@ func TestServeStrategy_ServeDynamic(t *testing.T) { expectedHeaderKey: "X-Sablier-Session-Status", expectedHeaderValue: "not-ready", }, + { + name: "header requests no caching", + arg: arg{ + body: models.DynamicRequest{ + Names: []string{"nginx"}, + DisplayName: "Test", + Theme: "hacker-terminal", + SessionDuration: 1 * time.Minute, + }, + session: sessions.SessionState{ + Instances: createMap([]*instance.State{ + {Name: "nginx", Status: instance.NotReady}, + }), + }, + }, + expectedHeaderKey: "Cache-Control", + expectedHeaderValue: "no-cache", + }, { name: "header has ready value when session is ready", arg: arg{ @@ -104,7 +122,7 @@ func TestServeStrategy_ServeDynamic(t *testing.T) { SessionState: tt.arg.session, }, StrategyConfig: config.NewStrategyConfig(), - Theme: theme, + Theme: theme, } recorder := httptest.NewRecorder() c := GetTestGinContext(recorder)