fix: set timeouts on the upstream HTTP client #67
Reference in New Issue
Block a user
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
The proxy uses
http.DefaultClientfor all upstream GET/HEAD and bearer-token requests (internal/proxy/engine.go:157,173,305,395). It has no timeout, so a slow/hung upstream holds a goroutine + connection indefinitely. Introduce one shared*http.Clientwith dial/TLS/response-header timeouts and a tuned Transport, and use it everywhere.