缓存条件增加"强制返回区间内容"选项

This commit is contained in:
刘祥超
2023-06-15 15:14:06 +08:00
parent c0909a2cd0
commit 83ac62cda3

View File

@@ -241,16 +241,19 @@ func (this *HTTPRequest) doCacheRead(useStale bool) (shouldStop bool) {
reader, err = storage.OpenReader(key, useStale, false) reader, err = storage.OpenReader(key, useStale, false)
if err != nil && this.cacheRef.AllowPartialContent { if err != nil && this.cacheRef.AllowPartialContent {
// 尝试读取分片的缓存内容 // 尝试读取分片的缓存内容
if len(rangeHeader) == 0 { if len(rangeHeader) == 0 && this.cacheRef.ForcePartialContent {
// 默认读取开头 // 默认读取开头
rangeHeader = "bytes=0-" rangeHeader = "bytes=0-"
} }
pReader, ranges := this.tryPartialReader(storage, key, useStale, rangeHeader)
if pReader != nil { if len(rangeHeader) > 0 {
isPartialCache = true pReader, ranges := this.tryPartialReader(storage, key, useStale, rangeHeader)
reader = pReader if pReader != nil {
partialRanges = ranges isPartialCache = true
err = nil reader = pReader
partialRanges = ranges
err = nil
}
} }
} }