| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051 |
- package utils
- import (
- "bytes"
- "io/ioutil"
- "net/http"
- "runtime"
- "time"
- )
- var (
- defaultClient = &http.Client{
- Timeout: 60 * time.Second,
- Transport: &http.Transport{
- MaxConnsPerHost: runtime.NumCPU(),
- MaxIdleConnsPerHost: runtime.NumCPU(),
- IdleConnTimeout: 60 * time.Second,
- },
- }
- )
- func HTTPConnect(method, url, token string, data []byte) ([]byte, error) {
- req, err := http.NewRequest(method, url, bytes.NewBuffer(data))
- if err != nil {
- // log.Errorf("create request error:%s.", err)
- return nil, err
- }
- req.Header.Set("Content-Type", "application/json")
- req.Header.Add("token", token)
- var resp *http.Response
- resp, err = defaultClient.Do(req)
- //if strings.HasPrefix(url, "https") {
- // resp, err = localClient.Do(req)
- //} else {
- // resp, err = defaultClient.Do(req)
- //}
- if err != nil {
- // log.Error(err)
- return nil, err
- }
- defer resp.Body.Close()
- result, err := ioutil.ReadAll(resp.Body)
- if err != nil {
- // log.Errorf("http read body error:%s", err)
- return nil, err
- }
- // fmt.Println(result)
- return result, nil
- }
|