|
- package client
-
- import (
- "io/ioutil"
- "k8s.io/apimachinery/pkg/util/json"
- "log"
- "net/http"
- "strings"
- "sync"
- )
-
- type task struct {
- sync.RWMutex
- client *client
- options *TaskOptions
- log log.Logger
- }
-
- func newTask(client *client, options *TaskOptions) (*task, error) {
- task := &task{
- RWMutex: sync.RWMutex{},
- client: client,
- options: options,
- log: log.Logger{},
- }
- return task, nil
- }
-
- func (t *task) PullTaskInfo(pullTaskInfoReq PullTaskInfoReq) (*PullTaskInfoResp, error) {
-
- url := t.client.url + "/pcm/v1/core/pullTaskInfo"
- method := "GET"
- infoReq := PullTaskInfoReq{AdapterId: pullTaskInfoReq.AdapterId}
- jsonStr, _ := json.Marshal(infoReq)
- payload := strings.NewReader(string(jsonStr))
-
- client := &http.Client{}
- req, _ := http.NewRequest(method, url, payload)
- req.Header.Add("Content-Type", "application/json")
- res, _ := client.Do(req)
- defer res.Body.Close()
-
- body, _ := ioutil.ReadAll(res.Body)
- var resp PullTaskInfoResp
- json.Unmarshal(body, &resp)
- return &resp, nil
- }
-
- func (t *task) PushTaskInfo(pushTaskInfoReq PushTaskInfoReq) (*PushTaskInfoResp, error) {
-
- url := t.client.url + "/pcm/v1/core/pushTaskInfo"
- method := "POST"
- infoReq := PullTaskInfoReq{AdapterId: pushTaskInfoReq.AdapterId}
- jsonStr, _ := json.Marshal(infoReq)
- payload := strings.NewReader(string(jsonStr))
-
- client := &http.Client{}
- req, _ := http.NewRequest(method, url, payload)
- req.Header.Add("Content-Type", "application/json")
- res, _ := client.Do(req)
- defer res.Body.Close()
-
- body, _ := ioutil.ReadAll(res.Body)
- var resp PushTaskInfoResp
- json.Unmarshal(body, &resp)
- return &resp, nil
- }
-
- func (t *task) PushResourceInfo(pushResourceInfoReq PushResourceInfoReq) error {
- //TODO implement me
- panic("implement me")
- }
|