pcm-octopus/internal/common/httputil.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
}