From 4da912bc7df4b41e41bdd17c3f10874563f7a38a Mon Sep 17 00:00:00 2001 From: GoEdgeLab Date: Wed, 12 May 2021 16:09:40 +0800 Subject: [PATCH] =?UTF-8?q?=E7=BC=93=E5=AD=98=E8=AE=BE=E7=BD=AE=E4=B8=AD?= =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E8=87=AA=E5=8A=A8=E6=B7=BB=E5=8A=A0X-Cache?= =?UTF-8?q?=20Header?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../default/servers/server/settings/cache/index.go | 6 +++++- .../servers/server/settings/locations/cache/index.go | 6 +++++- .../js/components/server/http-cache-config-box.js | 12 +++++++++++- 3 files changed, 21 insertions(+), 3 deletions(-) diff --git a/internal/web/actions/default/servers/server/settings/cache/index.go b/internal/web/actions/default/servers/server/settings/cache/index.go index b2b2ef1c..caf4bb28 100644 --- a/internal/web/actions/default/servers/server/settings/cache/index.go +++ b/internal/web/actions/default/servers/server/settings/cache/index.go @@ -60,13 +60,17 @@ func (this *IndexAction) RunPost(params struct { // 日志 defer this.CreateLog(oplogs.LevelInfo, "修改Web %d 的缓存设置", params.WebId) - // TODO 校验配置 + // 校验配置 cacheConfig := &serverconfigs.HTTPCacheConfig{} err := json.Unmarshal(params.CacheJSON, cacheConfig) if err != nil { this.ErrorPage(err) return } + err = cacheConfig.Init() + if err != nil { + this.Fail("检查配置失败:" + err.Error()) + } // 去除不必要的部分 for _, cacheRef := range cacheConfig.CacheRefs { diff --git a/internal/web/actions/default/servers/server/settings/locations/cache/index.go b/internal/web/actions/default/servers/server/settings/locations/cache/index.go index 6f650a59..4c1aca44 100644 --- a/internal/web/actions/default/servers/server/settings/locations/cache/index.go +++ b/internal/web/actions/default/servers/server/settings/locations/cache/index.go @@ -57,13 +57,17 @@ func (this *IndexAction) RunPost(params struct { }) { defer this.CreateLogInfo("修改Web %d 的缓存设置", params.WebId) - // TODO 校验配置 + // 校验配置 cacheConfig := &serverconfigs.HTTPCacheConfig{} err := json.Unmarshal(params.CacheJSON, cacheConfig) if err != nil { this.ErrorPage(err) return } + err = cacheConfig.Init() + if err != nil { + this.Fail("检查配置失败:" + err.Error()) + } // 去除不必要的部分 for _, cacheRef := range cacheConfig.CacheRefs { diff --git a/web/public/js/components/server/http-cache-config-box.js b/web/public/js/components/server/http-cache-config-box.js index 7cf1ef00..a7ca1289 100644 --- a/web/public/js/components/server/http-cache-config-box.js +++ b/web/public/js/components/server/http-cache-config-box.js @@ -6,6 +6,7 @@ Vue.component("http-cache-config-box", { cacheConfig = { isPrior: false, isOn: false, + addStatusHeader: true, cacheRefs: [] } } @@ -105,13 +106,22 @@ Vue.component("http-cache-config-box", { + + + 自动添加X-Cache Header + + +

选中后自动在响应Header中增加X-Cache: BYPASS|MISS|HIT

+ + +
- +
条件缓存条件 缓存时间 操作