package common import ( "bytes" "encoding/json" "io/ioutil" "net/http" ) func Get(url string, result interface{}) error { client := &http.Client{} resp, err := client.Get(url) if err != nil { return err } defer resp.Body.Close() body, err := ioutil.ReadAll(resp.Body) if err != nil { return err } return json.Unmarshal(body, result) } func Post(url string, payload []byte, result interface{}) error { req, err := http.NewRequest("POST", url, bytes.NewBuffer(payload)) if err != nil { return err } req.Header.Set("Content-Type", "application/json") client := &http.Client{} resp, err := client.Do(req) if err != nil { return err } defer resp.Body.Close() if result == nil { return nil } body, err := ioutil.ReadAll(resp.Body) if err != nil { return err } return json.Unmarshal(body, result) }