Merge pull request 'Update .goreleaser.yaml and enhance HTTP client settings in steamcache.go' (#10) from fix/connection-pooling into main
All checks were successful
Release Tag / release (push) Successful in 15s
All checks were successful
Release Tag / release (push) Successful in 15s
Reviewed-on: s1d3sw1ped/SteamCache2#10
This commit is contained in:
@@ -48,7 +48,6 @@ changelog:
|
|||||||
|
|
||||||
release:
|
release:
|
||||||
name_template: "{{ .ProjectName }}-{{ .Version }}"
|
name_template: "{{ .ProjectName }}-{{ .Version }}"
|
||||||
footer: "Copyright (c) 2025 s1d3sw1ped"
|
|
||||||
|
|
||||||
gitea_urls:
|
gitea_urls:
|
||||||
api: https://git.s1d3sw1ped.com/api/v1
|
api: https://git.s1d3sw1ped.com/api/v1
|
||||||
|
|||||||
@@ -222,16 +222,18 @@ func New(address string, memorySize string, diskSize string, diskPath, upstream,
|
|||||||
}
|
}
|
||||||
|
|
||||||
transport := &http.Transport{
|
transport := &http.Transport{
|
||||||
MaxIdleConns: 100,
|
MaxIdleConns: 200, // Increased from 100
|
||||||
MaxIdleConnsPerHost: 10,
|
MaxIdleConnsPerHost: 50, // Increased from 10
|
||||||
IdleConnTimeout: 90 * time.Second,
|
IdleConnTimeout: 120 * time.Second, // Increased from 90s
|
||||||
DialContext: (&net.Dialer{
|
DialContext: (&net.Dialer{
|
||||||
Timeout: 30 * time.Second,
|
Timeout: 30 * time.Second,
|
||||||
KeepAlive: 30 * time.Second,
|
KeepAlive: 30 * time.Second,
|
||||||
}).DialContext,
|
}).DialContext,
|
||||||
TLSHandshakeTimeout: 10 * time.Second,
|
TLSHandshakeTimeout: 15 * time.Second, // Increased from 10s
|
||||||
ResponseHeaderTimeout: 10 * time.Second,
|
ResponseHeaderTimeout: 30 * time.Second, // Increased from 10s
|
||||||
ExpectContinueTimeout: 1 * time.Second,
|
ExpectContinueTimeout: 5 * time.Second, // Increased from 1s
|
||||||
|
DisableCompression: true, // Steam doesn't use compression
|
||||||
|
ForceAttemptHTTP2: true, // Enable HTTP/2 if available
|
||||||
}
|
}
|
||||||
|
|
||||||
client := &http.Client{
|
client := &http.Client{
|
||||||
@@ -453,18 +455,6 @@ func (sc *SteamCache) ServeHTTP(w http.ResponseWriter, r *http.Request) {
|
|||||||
filename := filepath.Base(cacheKey)
|
filename := filepath.Base(cacheKey)
|
||||||
expectedHash, hasHash := extractHashFromFilename(filename)
|
expectedHash, hasHash := extractHashFromFilename(filename)
|
||||||
|
|
||||||
// Debug logging for manifest files
|
|
||||||
if strings.Contains(cacheKey, "manifest") {
|
|
||||||
logger.Logger.Debug().
|
|
||||||
Str("key", cacheKey).
|
|
||||||
Str("filename", filename).
|
|
||||||
Bool("hasHash", hasHash).
|
|
||||||
Str("expectedHash", expectedHash).
|
|
||||||
Int64("content_length_header", resp.ContentLength).
|
|
||||||
Int("actual_content_length", len(bodyData)).
|
|
||||||
Msg("Manifest file hash verification debug")
|
|
||||||
}
|
|
||||||
|
|
||||||
// Hash verification using Steam's X-Content-Sha header and content length verification
|
// Hash verification using Steam's X-Content-Sha header and content length verification
|
||||||
hashVerified := true
|
hashVerified := true
|
||||||
if hasHash {
|
if hasHash {
|
||||||
@@ -522,7 +512,6 @@ func (sc *SteamCache) ServeHTTP(w http.ResponseWriter, r *http.Request) {
|
|||||||
Str("key", cacheKey).
|
Str("key", cacheKey).
|
||||||
Str("host", r.Host).
|
Str("host", r.Host).
|
||||||
Str("status", "MISS").
|
Str("status", "MISS").
|
||||||
Bool("hash_verified", hasHash).
|
|
||||||
Dur("duration", time.Since(tstart)).
|
Dur("duration", time.Since(tstart)).
|
||||||
Msg("request")
|
Msg("request")
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user