Add integration tests and service management for SteamCache
- Introduced integration tests for SteamCache to validate caching behavior with real Steam URLs. - Implemented a ServiceManager to manage service configurations, allowing for dynamic detection of services based on User-Agent. - Updated cache key generation to include service prefixes, enhancing cache organization and retrieval. - Enhanced the caching logic to support multiple services, starting with Steam and Epic Games. - Improved .gitignore to exclude test cache files while retaining necessary structure.
This commit is contained in:
@@ -184,7 +184,12 @@ func (d *DiskFS) init() {
|
||||
|
||||
d.mu.Lock()
|
||||
// Extract key from sharded path: remove root and convert sharding back
|
||||
relPath := strings.ReplaceAll(npath[len(d.root)+1:], "\\", "/")
|
||||
// Handle both "./disk" and "disk" root paths
|
||||
rootPath := d.root
|
||||
if strings.HasPrefix(rootPath, "./") {
|
||||
rootPath = rootPath[2:] // Remove "./" prefix
|
||||
}
|
||||
relPath := strings.ReplaceAll(npath[len(rootPath)+1:], "\\", "/")
|
||||
|
||||
// Extract the original key from the sharded path
|
||||
k := d.extractKeyFromPath(relPath)
|
||||
|
||||
Reference in New Issue
Block a user