88 lines
2.2 KiB
Go
88 lines
2.2 KiB
Go
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(pushTaskInfoReq)
|
|
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) (*PushResourceInfoResp, error) {
|
|
|
|
url := t.client.url + "/pcm/v1/core/pushResourceInfo"
|
|
method := "POST"
|
|
//infoReq := PushResourceInfoReq{AdapterId: pushResourceInfoReq.AdapterId}
|
|
jsonStr, _ := json.Marshal(pushResourceInfoReq)
|
|
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 PushResourceInfoResp
|
|
json.Unmarshal(body, &resp)
|
|
return &resp, nil
|
|
}
|