package src import "encoding/json" //DiskInfoRequest type type DiskInfoRequest struct { client *Client HTTPRequest *HTTPRequest } func (req *DiskInfoRequest) request() *HTTPRequest { return req.HTTPRequest } //DiskInfoResponse struct is returned by the API for DiskInfo request. type DiskInfoResponse struct { TrashSize uint64 `json:"TrashSize"` TotalSpace uint64 `json:"TotalSpace"` UsedSpace uint64 `json:"UsedSpace"` SystemFolders map[string]string `json:"SystemFolders"` } //NewDiskInfoRequest create new DiskInfo Request func (c *Client) NewDiskInfoRequest() *DiskInfoRequest { return &DiskInfoRequest{ client: c, HTTPRequest: createGetRequest(c, "/", nil), } } //Exec run DiskInfo Request func (req *DiskInfoRequest) Exec() (*DiskInfoResponse, error) { data, err := req.request().run(req.client) if err != nil { return nil, err } var info DiskInfoResponse err = json.Unmarshal(data, &info) if err != nil { return nil, err } if info.SystemFolders == nil { info.SystemFolders = make(map[string]string) } return &info, nil }