mirror of
https://github.com/k3s-io/kubernetes.git
synced 2025-08-08 19:47:56 +00:00
Have client store status code in Result
This commit is contained in:
parent
64bee7f4f0
commit
bee68e48cd
@ -803,9 +803,9 @@ func (r *Request) transformResponse(resp *http.Response, req *http.Request) Resu
|
|||||||
}
|
}
|
||||||
|
|
||||||
return Result{
|
return Result{
|
||||||
body: body,
|
body: body,
|
||||||
created: resp.StatusCode == http.StatusCreated,
|
statusCode: resp.StatusCode,
|
||||||
codec: r.codec,
|
codec: r.codec,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -879,9 +879,9 @@ func retryAfterSeconds(resp *http.Response) (int, bool) {
|
|||||||
|
|
||||||
// Result contains the result of calling Request.Do().
|
// Result contains the result of calling Request.Do().
|
||||||
type Result struct {
|
type Result struct {
|
||||||
body []byte
|
body []byte
|
||||||
created bool
|
err error
|
||||||
err error
|
statusCode int
|
||||||
|
|
||||||
codec runtime.Codec
|
codec runtime.Codec
|
||||||
}
|
}
|
||||||
@ -899,6 +899,13 @@ func (r Result) Get() (runtime.Object, error) {
|
|||||||
return r.codec.Decode(r.body)
|
return r.codec.Decode(r.body)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// StatusCode returns the HTTP status code of the request. (Only valid if no
|
||||||
|
// error was returned.)
|
||||||
|
func (r Result) StatusCode(statusCode *int) Result {
|
||||||
|
*statusCode = r.statusCode
|
||||||
|
return r
|
||||||
|
}
|
||||||
|
|
||||||
// Into stores the result into obj, if possible.
|
// Into stores the result into obj, if possible.
|
||||||
func (r Result) Into(obj runtime.Object) error {
|
func (r Result) Into(obj runtime.Object) error {
|
||||||
if r.err != nil {
|
if r.err != nil {
|
||||||
@ -910,7 +917,7 @@ func (r Result) Into(obj runtime.Object) error {
|
|||||||
// WasCreated updates the provided bool pointer to whether the server returned
|
// WasCreated updates the provided bool pointer to whether the server returned
|
||||||
// 201 created or a different response.
|
// 201 created or a different response.
|
||||||
func (r Result) WasCreated(wasCreated *bool) Result {
|
func (r Result) WasCreated(wasCreated *bool) Result {
|
||||||
*wasCreated = r.created
|
*wasCreated = r.statusCode == http.StatusCreated
|
||||||
return r
|
return r
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -274,7 +274,7 @@ func TestTransformResponse(t *testing.T) {
|
|||||||
test.Response.Body = ioutil.NopCloser(bytes.NewReader([]byte{}))
|
test.Response.Body = ioutil.NopCloser(bytes.NewReader([]byte{}))
|
||||||
}
|
}
|
||||||
result := r.transformResponse(test.Response, &http.Request{})
|
result := r.transformResponse(test.Response, &http.Request{})
|
||||||
response, created, err := result.body, result.created, result.err
|
response, created, err := result.body, result.statusCode == http.StatusCreated, result.err
|
||||||
hasErr := err != nil
|
hasErr := err != nil
|
||||||
if hasErr != test.Error {
|
if hasErr != test.Error {
|
||||||
t.Errorf("%d: unexpected error: %t %v", i, test.Error, err)
|
t.Errorf("%d: unexpected error: %t %v", i, test.Error, err)
|
||||||
|
Loading…
Reference in New Issue
Block a user