fix(downloadclients): arrs change size type to uint64 (#1744)

* fix(downloadclients): arrs change size type to uint64

* fix(downloadclients): check resp.Body
This commit is contained in:
ze0s 2024-09-29 14:04:16 +02:00 committed by GitHub
parent e9726363b4
commit bf7e1381ac
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
15 changed files with 98 additions and 10 deletions

View file

@ -17,6 +17,10 @@ import (
func (c *client) get(ctx context.Context, endpoint string) (int, []byte, error) {
u, err := url.Parse(c.config.Hostname)
if err != nil {
return 0, nil, errors.Wrap(err, "could not parse url: %s", c.config.Hostname)
}
u.Path = path.Join(u.Path, "/api/v1/", endpoint)
reqUrl := u.String()
@ -38,6 +42,10 @@ func (c *client) get(ctx context.Context, endpoint string) (int, []byte, error)
defer resp.Body.Close()
if resp.Body == nil {
return resp.StatusCode, nil, errors.New("response body is nil")
}
var buf bytes.Buffer
if _, err = io.Copy(&buf, resp.Body); err != nil {
return resp.StatusCode, nil, errors.Wrap(err, "readarr.io.Copy")
@ -48,6 +56,10 @@ func (c *client) get(ctx context.Context, endpoint string) (int, []byte, error)
func (c *client) post(ctx context.Context, endpoint string, data interface{}) (*http.Response, error) {
u, err := url.Parse(c.config.Hostname)
if err != nil {
return nil, errors.Wrap(err, "could not parse url: %s", c.config.Hostname)
}
u.Path = path.Join(u.Path, "/api/v1/", endpoint)
reqUrl := u.String()
@ -87,6 +99,10 @@ func (c *client) post(ctx context.Context, endpoint string, data interface{}) (*
func (c *client) postBody(ctx context.Context, endpoint string, data interface{}) (int, []byte, error) {
u, err := url.Parse(c.config.Hostname)
if err != nil {
return 0, nil, errors.Wrap(err, "could not parse url: %s", c.config.Hostname)
}
u.Path = path.Join(u.Path, "/api/v1/", endpoint)
reqUrl := u.String()
@ -115,6 +131,10 @@ func (c *client) postBody(ctx context.Context, endpoint string, data interface{}
defer resp.Body.Close()
if resp.Body == nil {
return resp.StatusCode, nil, errors.New("response body is nil")
}
var buf bytes.Buffer
if _, err = io.Copy(&buf, resp.Body); err != nil {
return resp.StatusCode, nil, errors.Wrap(err, "readarr.io.Copy")