package api import ( "io" "net/http" ) func PostRequest(url string, body io.Reader, header http.Header) ([]byte, error, *http.Response) { client := http.Client{} req, err := http.NewRequest("POST", url, body) req.Header = header resp, err := client.Do(req) if err != nil { return nil, err, resp } data, err := io.ReadAll(resp.Body) if err != nil { return nil, err, resp } return data, nil, resp } func GetRequest(url string, header http.Header, args ...string) ([]byte, error, *http.Response) { client := http.Client{} req, err := http.NewRequest("GET", url, nil) if len(args) > 0 { req.URL.RawQuery = args[0] } req.Header = header req.Header.Set("Content-Type", "application/json") resp, err := client.Do(req) if err != nil { return nil, err, nil } data, err := io.ReadAll(resp.Body) if err != nil { return nil, err, nil } return data, nil, resp } func PatchRequest(url string, body io.Reader, header http.Header) ([]byte, error, *http.Response) { client := http.Client{} req, err := http.NewRequest("POST", url, body) req.Header = header resp, err := client.Do(req) if err != nil { return nil, err, resp } data, err := io.ReadAll(resp.Body) if err != nil { return nil, err, resp } return data, nil, resp } func DeleteRequest(url string, header http.Header) ([]byte, error, *http.Response) { client := http.Client{} req, err := http.NewRequest("DELETE", url, nil) req.Header = header req.Header.Set("Content-Type", "application/json") resp, err := client.Do(req) if err != nil { return nil, err, resp } data, err := io.ReadAll(resp.Body) if err != nil { return nil, err, resp } return data, nil, resp }