diff options
author | Jacob Vosmaer <jacob@gitlab.com> | 2021-07-14 19:03:27 +0300 |
---|---|---|
committer | Jacob Vosmaer <jacob@gitlab.com> | 2021-07-14 19:04:31 +0300 |
commit | ed0a0115476b1f0ec4748d04be7adfdbd6fb58ed (patch) | |
tree | d69d5950b538a5decc356cc6893dc8995fffb39e | |
parent | 9cde7b7d1ecc68f5ca3b68df5ad32e6b0bc9d661 (diff) |
Return close error in streamrpc.Call
Changelog: other
-rw-r--r-- | internal/streamrpc/client.go | 6 | ||||
-rw-r--r-- | internal/streamrpc/rpc_test.go | 5 |
2 files changed, 6 insertions, 5 deletions
diff --git a/internal/streamrpc/client.go b/internal/streamrpc/client.go index b26d43f33..e9f3e4ff1 100644 --- a/internal/streamrpc/client.go +++ b/internal/streamrpc/client.go @@ -44,7 +44,11 @@ func doCall(dial DialFunc, request []byte, callback func(net.Conn) error) error return &RequestRejectedError{resp.Error} } - return callback(c) + if err := callback(c); err != nil { + return err + } + + return c.Close() } // RequestRejectedError is returned by Call if the server explicitly diff --git a/internal/streamrpc/rpc_test.go b/internal/streamrpc/rpc_test.go index 669222780..850838465 100644 --- a/internal/streamrpc/rpc_test.go +++ b/internal/streamrpc/rpc_test.go @@ -73,11 +73,8 @@ func TestCall(t *testing.T) { if _, err := io.Copy(c, bytes.NewReader(in)); err != nil { return err } - if err := <-errC; err != nil { - return err - } - return c.Close() + return <-errC }, )) |