diff --git a/internal/web/actions/default/servers/components/cache/cacheutils/utils.go b/internal/web/actions/default/servers/components/cache/cacheutils/utils.go index 4848982c..c7dda883 100644 --- a/internal/web/actions/default/servers/components/cache/cacheutils/utils.go +++ b/internal/web/actions/default/servers/components/cache/cacheutils/utils.go @@ -29,11 +29,12 @@ func FindCachePolicy(parent *actionutils.ParentAction, cachePolicyId int64) (*se if len(resp.HttpCachePolicyJSON) == 0 { return nil, errors.New("cache policy not found") } - config := &serverconfigs.HTTPCachePolicy{} + var config = &serverconfigs.HTTPCachePolicy{} err = json.Unmarshal(resp.HttpCachePolicyJSON, config) if err != nil { return nil, err } + return config, nil } diff --git a/internal/web/actions/default/servers/components/cache/createPopup.go b/internal/web/actions/default/servers/components/cache/createPopup.go index 08d497de..33424c02 100644 --- a/internal/web/actions/default/servers/components/cache/createPopup.go +++ b/internal/web/actions/default/servers/components/cache/createPopup.go @@ -37,11 +37,12 @@ func (this *CreatePopupAction) RunPost(params struct { FileEnableSendfile bool FileMinFreeSizeJSON []byte - CapacityJSON []byte - MaxSizeJSON []byte - FetchTimeoutJSON []byte - SyncCompressionCache bool - EnableMMAP bool + CapacityJSON []byte + MaxSizeJSON []byte + FetchTimeoutJSON []byte + SyncCompressionCache bool + EnableMMAP bool + EnableIncompletePartialContent bool Description string IsOn bool @@ -95,10 +96,11 @@ func (this *CreatePopupAction) RunPost(params struct { MemoryPolicy: &serverconfigs.HTTPCachePolicy{ Capacity: memoryCapacity, }, - OpenFileCache: openFileCacheConfig, - EnableSendfile: params.FileEnableSendfile, - MinFreeSize: minFreeSize, - EnableMMAP: params.EnableMMAP, + OpenFileCache: openFileCacheConfig, + EnableSendfile: params.FileEnableSendfile, + MinFreeSize: minFreeSize, + EnableMMAP: params.EnableMMAP, + EnableIncompletePartialContent: params.EnableIncompletePartialContent, } case serverconfigs.CachePolicyStorageMemory: options = &serverconfigs.HTTPMemoryCacheStorage{} diff --git a/internal/web/actions/default/servers/components/cache/update.go b/internal/web/actions/default/servers/components/cache/update.go index 44dfcd9f..24502fe3 100644 --- a/internal/web/actions/default/servers/components/cache/update.go +++ b/internal/web/actions/default/servers/components/cache/update.go @@ -59,6 +59,14 @@ func (this *UpdateAction) RunGet(params struct { cachePolicy.Options["enableMMAP"] = false } } + + // fix enableIncompletePartialContent + { + _, ok := cachePolicy.Options["enableIncompletePartialContent"] + if !ok { + cachePolicy.Options["enableIncompletePartialContent"] = true + } + } } this.Data["cachePolicy"] = cachePolicy @@ -87,7 +95,8 @@ func (this *UpdateAction) RunPost(params struct { SyncCompressionCache bool FetchTimeoutJSON []byte - EnableMMAP bool + EnableMMAP bool + EnableIncompletePartialContent bool Description string IsOn bool @@ -146,10 +155,11 @@ func (this *UpdateAction) RunPost(params struct { MemoryPolicy: &serverconfigs.HTTPCachePolicy{ Capacity: memoryCapacity, }, - OpenFileCache: openFileCacheConfig, - EnableSendfile: params.FileEnableSendfile, - MinFreeSize: minFreeSize, - EnableMMAP: params.EnableMMAP, + OpenFileCache: openFileCacheConfig, + EnableSendfile: params.FileEnableSendfile, + MinFreeSize: minFreeSize, + EnableMMAP: params.EnableMMAP, + EnableIncompletePartialContent: params.EnableIncompletePartialContent, } case serverconfigs.CachePolicyStorageMemory: options = &serverconfigs.HTTPMemoryCacheStorage{} diff --git a/web/views/@default/servers/components/cache/createPopup.html b/web/views/@default/servers/components/cache/createPopup.html index cf55ddf2..458b8227 100644 --- a/web/views/@default/servers/components/cache/createPopup.html +++ b/web/views/@default/servers/components/cache/createPopup.html @@ -84,6 +84,13 @@
允许在有一部分内容缓存的情况下读取分区内容,剩余的部分将会自动回源读取。
+允许在有一部分内容缓存的情况下读取分区内容,剩余的部分将会自动回源读取。
+