45 lines
975 B
Go
45 lines
975 B
Go
package common
|
|
|
|
import (
|
|
"github.com/go-resty/resty/v2"
|
|
"io"
|
|
"log"
|
|
"net/http"
|
|
"os"
|
|
"time"
|
|
)
|
|
|
|
func OctopusHttpClient(method string, url string, payload io.Reader, token string) ([]byte, error) {
|
|
request, err := http.NewRequest(method, url, payload)
|
|
if token != "" {
|
|
request.Header.Set("Authorization", "Bearer "+token)
|
|
} else {
|
|
request.Header.Set("Content-Type", "application/json")
|
|
}
|
|
client := http.Client{Timeout: time.Duration(2) * time.Second}
|
|
res, err := client.Do(request)
|
|
if err != nil {
|
|
if os.IsTimeout(err) {
|
|
log.Println("接口调用超时 : ", err)
|
|
request.Body.Close()
|
|
return nil, err
|
|
}
|
|
log.Println(err)
|
|
return nil, err
|
|
}
|
|
defer res.Body.Close()
|
|
body, err := io.ReadAll(res.Body)
|
|
if err != nil {
|
|
log.Println("body转换错误: ", err)
|
|
return nil, err
|
|
}
|
|
|
|
return body, err
|
|
}
|
|
|
|
func GetRestyRequest() *resty.Request {
|
|
client := resty.New().SetTimeout(time.Duration(5) * time.Second)
|
|
request := client.R()
|
|
return request
|
|
}
|