36 lines
654 B
Go
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)
|
|
}
|