From 89bd3150e110467d3c91ccacea7157f307e15923 Mon Sep 17 00:00:00 2001 From: Sebastiaan van Stijn Date: Thu, 13 Nov 2025 12:38:17 +0100 Subject: [PATCH] client: client.ping(): use fresh request for HEAD -> GET Signed-off-by: Sebastiaan van Stijn --- client/ping.go | 9 +++++++-- vendor/github.com/moby/moby/client/ping.go | 9 +++++++-- 2 files changed, 14 insertions(+), 4 deletions(-) diff --git a/client/ping.go b/client/ping.go index 3f001ecf73..a95a249868 100644 --- a/client/ping.go +++ b/client/ping.go @@ -116,10 +116,15 @@ func (cli *Client) ping(ctx context.Context) (PingResult, error) { // response-body to get error details from. return newPingResult(resp), nil } + // close to allow reusing connection. + ensureReaderClosed(resp) // HEAD failed or returned a non-OK status; fallback to GET. - req.Method = http.MethodGet - resp, err = cli.doRequest(req) + req2, err := cli.buildRequest(ctx, http.MethodGet, path.Join(cli.basePath, "/_ping"), nil, nil) + if err != nil { + return PingResult{}, err + } + resp, err = cli.doRequest(req2) defer ensureReaderClosed(resp) if err != nil { // Failed to connect. diff --git a/vendor/github.com/moby/moby/client/ping.go b/vendor/github.com/moby/moby/client/ping.go index 3f001ecf73..a95a249868 100644 --- a/vendor/github.com/moby/moby/client/ping.go +++ b/vendor/github.com/moby/moby/client/ping.go @@ -116,10 +116,15 @@ func (cli *Client) ping(ctx context.Context) (PingResult, error) { // response-body to get error details from. return newPingResult(resp), nil } + // close to allow reusing connection. + ensureReaderClosed(resp) // HEAD failed or returned a non-OK status; fallback to GET. - req.Method = http.MethodGet - resp, err = cli.doRequest(req) + req2, err := cli.buildRequest(ctx, http.MethodGet, path.Join(cli.basePath, "/_ping"), nil, nil) + if err != nil { + return PingResult{}, err + } + resp, err = cli.doRequest(req2) defer ensureReaderClosed(resp) if err != nil { // Failed to connect.