From 2e15d0141106013e55b37b9add4932ee279294c8 Mon Sep 17 00:00:00 2001 From: "Gustavo L de Mello (Guz)" Date: Wed, 8 Jan 2025 00:05:51 -0300 Subject: [PATCH] feat(blogo,gitea): return response on client methods to better mirror the official sdk --- blogo/gitea/client.go | 24 ++++++++++++++---------- 1 file changed, 14 insertions(+), 10 deletions(-) diff --git a/blogo/gitea/client.go b/blogo/gitea/client.go index 420e66b..986598d 100644 --- a/blogo/gitea/client.go +++ b/blogo/gitea/client.go @@ -48,42 +48,46 @@ func newClient(endpoint string, http *http.Client) *client { return &client{endpoint: endpoint, http: http} } -func (c *client) GetContents(owner, repo, ref, filepath string) (*contentsResponse, error) { - data, _, err := c.get( +func (c *client) GetContents( + owner, repo, ref, filepath string, +) (*contentsResponse, *http.Response, error) { + data, res, err := c.get( fmt.Sprintf("/repos/%s/%s/contents/%s?ref=%s", owner, repo, url.QueryEscape(ref), filepath), ) if err != nil { - return &contentsResponse{}, err + return &contentsResponse{}, res, err } var file *contentsResponse if err := json.Unmarshal(data, &file); err != nil { - return &contentsResponse{}, errors.Join( + return &contentsResponse{}, res, errors.Join( errors.New("failed to parse JSON response from API"), err, ) } - return file, nil + return file, res, nil } -func (c *client) ListContents(owner, repo, ref, filepath string) ([]*contentsResponse, error) { - data, _, err := c.get( +func (c *client) ListContents( + owner, repo, ref, filepath string, +) ([]*contentsResponse, *http.Response, error) { + data, res, err := c.get( fmt.Sprintf("/repos/%s/%s/contents/%s?ref=%s", owner, repo, url.QueryEscape(ref), filepath), ) if err != nil { - return []*contentsResponse{}, err + return []*contentsResponse{}, res, err } var directory []*contentsResponse if err := json.Unmarshal(data, &directory); err != nil { - return []*contentsResponse{}, errors.Join( + return []*contentsResponse{}, res, errors.Join( errors.New("failed to parse JSON response from API"), err, ) } - return directory, nil + return directory, res, nil } func (c *client) get(path string) (body []byte, res *http.Response, err error) {