zhangqian
2023-11-01 530fed8ec225453572d57b15c200ab062c335457
pkg/httpx/httpx.go
@@ -1,41 +1,55 @@
package httpx
import (
   "bytes"
   "encoding/json"
   "io/ioutil"
   "net/http"
   "time"
)
func SendPost(_header http.Header, _url string, _post interface{}) ([]byte, error) {
   bytesData, err := json.Marshal(_post)
   if err != nil {
      return nil, err
   }
   req, err := http.NewRequest("POST", _url, bytes.NewBuffer(bytesData))
   if err != nil {
      return nil, err
   }
   req.Header.Set("Content-Type", "application/json;charset=UTF-8")
   for k, v := range _header {
      if len(v) > 0 {
         req.Header.Set(k, v[0])
      }
   }
   client := &http.Client{Timeout: 20 * time.Second}
   resp, err := client.Do(req)
   if err != nil {
      return nil, err
   }
   defer resp.Body.Close()
   respBytes, err := ioutil.ReadAll(resp.Body)
   if err != nil {
      return nil, err
   }
   return respBytes, nil
}
package httpx
import (
   "bytes"
   "encoding/json"
   "io/ioutil"
   "net/http"
   "os"
   "time"
)
func SendPost(_header http.Header, _url string, _post interface{}) ([]byte, error) {
   bytesData, err := json.Marshal(_post)
   if err != nil {
      return nil, err
   }
   req, err := http.NewRequest("POST", _url, bytes.NewBuffer(bytesData))
   if err != nil {
      return nil, err
   }
   req.Header.Set("Content-Type", "application/json;charset=UTF-8")
   for k, v := range _header {
      if len(v) > 0 {
         req.Header.Set(k, v[0])
      }
   }
   client := &http.Client{Timeout: 20 * time.Second}
   resp, err := client.Do(req)
   if err != nil {
      return nil, err
   }
   defer resp.Body.Close()
   respBytes, err := ioutil.ReadAll(resp.Body)
   if err != nil {
      return nil, err
   }
   return respBytes, nil
}
func GetMimeType(filePath string) string {
   file, err := os.Open(filePath)
   if err != nil {
      return ""
   }
   buffer := make([]byte, 512)
   _, _ = file.Read(buffer)
   if len(buffer) == 0 {
      return ""
   }
   return http.DetectContentType(buffer)
}