mirror of
https://github.com/moby/moby.git
synced 2026-01-11 02:31:44 +00:00
For methods using the decodeWithRaw utility, we were handling closing of the body twice. The ensureReaderClosed utility also drains the response to let the transport reuse the connnection. Let's use that utility in decodeWithRaw as well. Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
37 lines
863 B
Go
37 lines
863 B
Go
package client
|
|
|
|
import (
|
|
"context"
|
|
"encoding/json"
|
|
|
|
"github.com/moby/moby/api/types/swarm"
|
|
)
|
|
|
|
// TaskInspectOptions contains options for inspecting a task.
|
|
type TaskInspectOptions struct {
|
|
// Currently no options are defined.
|
|
}
|
|
|
|
// TaskInspectResult contains the result of a task inspection.
|
|
type TaskInspectResult struct {
|
|
Task swarm.Task
|
|
Raw json.RawMessage
|
|
}
|
|
|
|
// TaskInspect returns the task information and its raw representation.
|
|
func (cli *Client) TaskInspect(ctx context.Context, taskID string, options TaskInspectOptions) (TaskInspectResult, error) {
|
|
taskID, err := trimID("task", taskID)
|
|
if err != nil {
|
|
return TaskInspectResult{}, err
|
|
}
|
|
|
|
resp, err := cli.get(ctx, "/tasks/"+taskID, nil, nil)
|
|
if err != nil {
|
|
return TaskInspectResult{}, err
|
|
}
|
|
|
|
var out TaskInspectResult
|
|
out.Raw, err = decodeWithRaw(resp, &out.Task)
|
|
return out, err
|
|
}
|