You can not select more than 25 topics Topics must start with a chinese character,a letter or number, can include dashes ('-') and can be up to 35 characters long.

node.go 822 B

12345678910111213141516171819202122232425262728293031323334353637383940414243
  1. package cdssdk
  2. import (
  3. "net/url"
  4. "gitlink.org.cn/cloudream/common/consts/errorcode"
  5. myhttp "gitlink.org.cn/cloudream/common/utils/http"
  6. )
  7. var NodeGetNodesPath = "/node/getNodes"
  8. type NodeGetNodesReq struct {
  9. NodeIDs []NodeID `json:"nodeIDs"`
  10. }
  11. type NodeGetNodesResp struct {
  12. Nodes []Node `json:"nodes"`
  13. }
  14. func (c *Client) NodeGetNodes(req NodeGetNodesReq) (*NodeGetNodesResp, error) {
  15. url, err := url.JoinPath(c.baseURL, NodeGetNodesPath)
  16. if err != nil {
  17. return nil, err
  18. }
  19. resp, err := myhttp.GetForm(url, myhttp.RequestParam{
  20. Query: req,
  21. })
  22. if err != nil {
  23. return nil, err
  24. }
  25. jsonResp, err := myhttp.ParseJSONResponse[response[NodeGetNodesResp]](resp)
  26. if err != nil {
  27. return nil, err
  28. }
  29. if jsonResp.Code == errorcode.OK {
  30. return &jsonResp.Data, nil
  31. }
  32. return nil, jsonResp.ToError()
  33. }