package http import ( "bytes" "fmt" "io" "net/http" "net/url" ) var ( client = &http.Client{} ) func init() { } func FormatUrl(endPoint string, isHttps bool) string { if isHttps { return fmt.Sprintf("https://%s", endPoint) } else { return fmt.Sprintf("http://%s", endPoint) } } func JGet(url string, params url.Values, header map[string]string) ([]byte, error) { req, _ := http.NewRequest("GET", url, nil) for k, v := range header { req.Header.Add(k, v) } req.URL.RawQuery = params.Encode() resp, err := client.Do(req) if err != nil { return []byte(""), err } defer func(Body io.ReadCloser) { err = Body.Close() if err != nil { fmt.Println(err.Error()) } }(resp.Body) return io.ReadAll(resp.Body) } func JPostJson(url string, jsonStr []byte, header map[string]string) ([]byte, error) { req, _ := http.NewRequest("POST", url, bytes.NewBuffer(jsonStr)) req.Header.Set("Content-Type", "application/json") for k, v := range header { req.Header.Add(k, v) } resp, err := client.Do(req) if err != nil { return []byte(""), err } defer func(Body io.ReadCloser) { err = Body.Close() if err != nil { fmt.Println(err.Error()) } }(resp.Body) return io.ReadAll(resp.Body) }