anilibria-go/anilibria/request.go
2023-09-12 22:25:44 +12:00

36 lines
654 B
Go

package anilibria
import (
"fmt"
"io"
"net/http"
)
func request(method string, url string, body io.Reader) ([]byte, int, error) {
var err error
var req *http.Request
var res *http.Response
var client *http.Client = http.DefaultClient
url = getURL(url)
if req, err = http.NewRequest(method, url, body); err != nil {
return nil, -1, err
}
if res, err = client.Do(req); err != nil {
return nil, -1, err
}
defer res.Body.Close()
data, err := io.ReadAll(res.Body)
if err != nil {
return nil, res.StatusCode, err
}
return data, res.StatusCode, nil
}
func getURL(path string) string {
return fmt.Sprintf("%s%s", BASE_URL, path)
}