Browse code

Add DiskUsage method to SystemApiclient

Signed-off-by: Kenfe-Mickael Laventure <mickael.laventure@gmail.com>

Kenfe-Mickael Laventure authored on 2016/09/09 05:45:05
Showing 1 changed files
1 1
new file mode 100644
... ...
@@ -0,0 +1,26 @@
0
+package client
1
+
2
+import (
3
+	"encoding/json"
4
+	"fmt"
5
+
6
+	"github.com/docker/docker/api/types"
7
+	"golang.org/x/net/context"
8
+)
9
+
10
+// DiskUsage requests the current data usage from the daemon
11
+func (cli *Client) DiskUsage(ctx context.Context) (types.DiskUsage, error) {
12
+	var du types.DiskUsage
13
+
14
+	serverResp, err := cli.get(ctx, "/system/df", nil, nil)
15
+	if err != nil {
16
+		return du, err
17
+	}
18
+	defer ensureReaderClosed(serverResp)
19
+
20
+	if err := json.NewDecoder(serverResp.body).Decode(&du); err != nil {
21
+		return du, fmt.Errorf("Error retrieving disk usage: %v", err)
22
+	}
23
+
24
+	return du, nil
25
+}