fix(getter): correct httpClient method and remove debug option reference

Signed-off-by: vaish123-fullstck <vaishnavsreekumar301@gmail.com>
pull/31967/head
vaish123-fullstck 7 months ago
parent 5066170b94
commit d68d505afa

@ -30,7 +30,7 @@ import (
"helm.sh/helm/v4/internal/version" "helm.sh/helm/v4/internal/version"
) )
// 🔥 Constant for session header // Add constant (minimal addition)
const helmSessionHeader = "helm-session" const helmSessionHeader = "helm-session"
// HTTPGetter is the default HTTP(/S) backend handler // HTTPGetter is the default HTTP(/S) backend handler
@ -38,7 +38,9 @@ type HTTPGetter struct {
opts getterOptions opts getterOptions
transport *http.Transport transport *http.Transport
once sync.Once once sync.Once
sessionID string // 🔥 Stores session ID for request grouping
// Add session field (minimal addition)
sessionID string
} }
// Get performs a Get from repo.Getter and returns the body. // Get performs a Get from repo.Getter and returns the body.
@ -56,7 +58,7 @@ func (g *HTTPGetter) get(href string, opts getterOptions) (*bytes.Buffer, error)
return nil, err return nil, err
} }
// 🔥 Add Helm session header to group requests from a single command execution // Set helm session header for traceability
if g.sessionID != "" { if g.sessionID != "" {
req.Header.Set(helmSessionHeader, g.sessionID) req.Header.Set(helmSessionHeader, g.sessionID)
} }
@ -113,7 +115,7 @@ func NewHTTPGetter(options ...Option) (Getter, error) {
opt(&client.opts) opt(&client.opts)
} }
// 🔥 Generate session ID once per getter instance // Generate session ID (minimal addition)
client.sessionID = uuid.New().String() client.sessionID = uuid.New().String()
return &client, nil return &client, nil

@ -688,22 +688,20 @@ func TestHTTPGetterSessionHeader(t *testing.T) {
})) }))
defer srv.Close() defer srv.Close()
// Create getter for HTTP session header test
g, err := NewHTTPGetter(WithURL(srv.URL)) g, err := NewHTTPGetter(WithURL(srv.URL))
if err != nil { if err != nil {
t.Fatal(err) t.Fatal(err)
} }
// First request
if _, err := g.Get(srv.URL); err != nil { if _, err := g.Get(srv.URL); err != nil {
t.Fatal(err) t.Fatal(err)
} }
// Second request (to verify persistence)
if _, err := g.Get(srv.URL); err != nil { if _, err := g.Get(srv.URL); err != nil {
t.Fatal(err) t.Fatal(err)
} }
// Read headers safely
h1 := <-headerChan h1 := <-headerChan
h2 := <-headerChan h2 := <-headerChan
@ -712,6 +710,6 @@ func TestHTTPGetterSessionHeader(t *testing.T) {
} }
if h1 != h2 { if h1 != h2 {
t.Errorf("expected session ID to be reused, but got %s and %s", h1, h2) t.Errorf("expected same session ID, got %s and %s", h1, h2)
} }
} }

Loading…
Cancel
Save