mirror of
https://github.com/k3s-io/kubernetes.git
synced 2025-08-03 17:30:00 +00:00
Merge pull request #16881 from krousey/client_path
Auto commit by PR queue bot
This commit is contained in:
commit
c7d5f3cdca
@ -149,7 +149,7 @@ func (c *Client) ServerVersion() (*version.Info, error) {
|
|||||||
|
|
||||||
// ServerAPIVersions retrieves and parses the list of API versions the server supports.
|
// ServerAPIVersions retrieves and parses the list of API versions the server supports.
|
||||||
func (c *Client) ServerAPIVersions() (*unversioned.APIVersions, error) {
|
func (c *Client) ServerAPIVersions() (*unversioned.APIVersions, error) {
|
||||||
body, err := c.Get().UnversionedPath("").Do().Raw()
|
body, err := c.Get().AbsPath("/api").Do().Raw()
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
|
@ -64,7 +64,7 @@ func (c *ExtensionsClient) ServerVersion() (*version.Info, error) {
|
|||||||
// ServerAPIVersions retrieves and parses the list of experimental API versions the
|
// ServerAPIVersions retrieves and parses the list of experimental API versions the
|
||||||
// server supports.
|
// server supports.
|
||||||
func (c *ExtensionsClient) ServerAPIVersions() (*unversioned.APIVersions, error) {
|
func (c *ExtensionsClient) ServerAPIVersions() (*unversioned.APIVersions, error) {
|
||||||
body, err := c.Get().UnversionedPath("").Do().Raw()
|
body, err := c.Get().AbsPath("/apis/extensions").Do().Raw()
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
|
@ -226,23 +226,6 @@ func (r *Request) NamespaceIfScoped(namespace string, scoped bool) *Request {
|
|||||||
return r
|
return r
|
||||||
}
|
}
|
||||||
|
|
||||||
// UnversionedPath strips the apiVersion from the baseURL before appending segments.
|
|
||||||
func (r *Request) UnversionedPath(segments ...string) *Request {
|
|
||||||
if r.err != nil {
|
|
||||||
return r
|
|
||||||
}
|
|
||||||
upath := path.Clean(r.baseURL.Path)
|
|
||||||
//TODO(jdef) this is a pretty hackish version test
|
|
||||||
if strings.HasPrefix(path.Base(upath), "v") {
|
|
||||||
upath = path.Dir(upath)
|
|
||||||
if upath == "." {
|
|
||||||
upath = "/"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
r.path = path.Join(append([]string{upath}, segments...)...)
|
|
||||||
return r
|
|
||||||
}
|
|
||||||
|
|
||||||
// AbsPath overwrites an existing path with the segments provided. Trailing slashes are preserved
|
// AbsPath overwrites an existing path with the segments provided. Trailing slashes are preserved
|
||||||
// when a single segment is passed.
|
// when a single segment is passed.
|
||||||
func (r *Request) AbsPath(segments ...string) *Request {
|
func (r *Request) AbsPath(segments ...string) *Request {
|
||||||
|
@ -1028,43 +1028,6 @@ func TestVerbs(t *testing.T) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
func TestUnversionedPath(t *testing.T) {
|
|
||||||
tt := []struct {
|
|
||||||
host string
|
|
||||||
prefix string
|
|
||||||
unversioned string
|
|
||||||
expectedPath string
|
|
||||||
}{
|
|
||||||
{"", "", "", "/api"},
|
|
||||||
{"", "", "versions", "/api/versions"},
|
|
||||||
{"", "/", "", "/"},
|
|
||||||
{"", "/versions", "", "/versions"},
|
|
||||||
{"", "/api", "", "/api"},
|
|
||||||
{"", "/api/vfake", "", "/api/vfake"},
|
|
||||||
{"", "/api/vfake", "v1beta100", "/api/vfake/v1beta100"},
|
|
||||||
{"", "/api", "/versions", "/api/versions"},
|
|
||||||
{"", "/api", "versions", "/api/versions"},
|
|
||||||
{"", "/a/api", "", "/a/api"},
|
|
||||||
{"", "/a/api", "/versions", "/a/api/versions"},
|
|
||||||
{"", "/a/api", "/versions/d/e", "/a/api/versions/d/e"},
|
|
||||||
{"", "/a/api/vfake", "/versions/d/e", "/a/api/vfake/versions/d/e"},
|
|
||||||
}
|
|
||||||
for i, tc := range tt {
|
|
||||||
c := NewOrDie(&Config{Host: tc.host, Prefix: tc.prefix})
|
|
||||||
r := c.Post().Prefix("/alpha").UnversionedPath(tc.unversioned)
|
|
||||||
if r.path != tc.expectedPath {
|
|
||||||
t.Errorf("test case %d failed: unexpected path: %s, expected %s", i+1, r.path, tc.expectedPath)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
for i, tc := range tt {
|
|
||||||
c := NewOrDie(&Config{Host: tc.host, Prefix: tc.prefix, Version: "v1"})
|
|
||||||
r := c.Post().Prefix("/alpha").UnversionedPath(tc.unversioned)
|
|
||||||
if r.path != tc.expectedPath {
|
|
||||||
t.Errorf("test case %d failed: unexpected path: %s, expected %s", i+1, r.path, tc.expectedPath)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
func TestAbsPath(t *testing.T) {
|
func TestAbsPath(t *testing.T) {
|
||||||
expectedPath := "/bar/foo"
|
expectedPath := "/bar/foo"
|
||||||
c := NewOrDie(&Config{})
|
c := NewOrDie(&Config{})
|
||||||
|
Loading…
Reference in New Issue
Block a user