diff --git a/transport/http_client.go b/transport/http_client.go index 8fa0a40dd8..cebba7dbdf 100644 --- a/transport/http_client.go +++ b/transport/http_client.go @@ -111,7 +111,15 @@ func (h *httpTransportClient) Recv(msg *Message) (err error) { var req *http.Request if !h.dialOpts.Stream { - rc, ok := <-h.req + + var rc *http.Request + var ok bool + + select { + case rc, ok = <-h.req: + default: + } + if !ok { h.Lock() if len(h.reqList) == 0 { diff --git a/transport/http_client_test.go b/transport/http_client_test.go index 7709057520..c7db9ea7cc 100644 --- a/transport/http_client_test.go +++ b/transport/http_client_test.go @@ -7,7 +7,7 @@ import ( "github.com/pkg/errors" ) -func TestHttpClientTransport(t *testing.T) { +func TestDefaultHttpClientTransport(t *testing.T) { // arrange l, c, err := echoHttpClient("127.0.0.1:") if err != nil {