Make Request#RequestURI honor configured context root

Kubernetes-commit: 5677f7ab0b1b1ab22a71d01e4a710bf0f5e633aa
This commit is contained in:
Jordan Liggitt
2025-04-03 12:51:46 -04:00
committed by Kubernetes Publisher
parent 7aa362d5dd
commit 25d4fa6ba8
3 changed files with 40 additions and 10 deletions

View File

@@ -56,9 +56,13 @@ func (c *client) Paths() (map[string]GroupVersion, error) {
return nil, err
}
// Calculate the client-side prefix for a "root" request
rootPrefix := strings.TrimSuffix(c.restClient.Get().AbsPath("/").URL().Path, "/")
// Create GroupVersions for each element of the result
result := map[string]GroupVersion{}
for k, v := range discoMap.Paths {
// Trim off the prefix that will always be added in client-side
v.ServerRelativeURL = strings.TrimPrefix(v.ServerRelativeURL, rootPrefix)
// If the server returned a URL rooted at /openapi/v3, preserve any additional client-side prefix.
// If the server returned a URL not rooted at /openapi/v3, treat it as an actual server-relative URL.
// See https://github.com/kubernetes/kubernetes/issues/117463 for details