Skip to content

Commit 14f60ca

Browse files
committed
fix: Improve URL encoding and consistency in list methods
1 parent 5369401 commit 14f60ca

File tree

1 file changed

+23
-15
lines changed

1 file changed

+23
-15
lines changed

internal/provider/client.go

+23-15
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@ import (
55
"bytes"
66
"encoding/json"
77
"fmt"
8+
"io"
89
"net/http"
910
"net/url"
1011
)
@@ -234,14 +235,17 @@ func (c *Client) ListStacks(params *ListParams) (*Page[StackResponse], error) {
234235
}
235236
}
236237

237-
url := fmt.Sprintf("%s/api/v1/stacks?page=%d&size=%d", c.ServerURL, params.Page, params.PageSize)
238-
238+
query := url.Values{}
239+
query.Add("page", fmt.Sprintf("%d", params.Page))
240+
query.Add("size", fmt.Sprintf("%d", params.PageSize))
241+
239242
// Add filters if any
240243
for k, v := range params.Filter {
241-
url = fmt.Sprintf("%s&%s=%s", url, k, v)
244+
query.Add(k, v)
242245
}
243-
244-
resp, err := c.doRequest("GET", url, nil)
246+
247+
path := fmt.Sprintf("/api/v1/stacks?%s", query.Encode())
248+
resp, err := c.doRequest("GET", path, nil)
245249
if err != nil {
246250
return nil, err
247251
}
@@ -262,15 +266,17 @@ func (c *Client) ListStacks(params *ListParams) (*Page[StackResponse], error) {
262266

263267
// Add pagination support to all list methods
264268
func (c *Client) ListStackComponents(params *ListParams) (*Page[ComponentResponse], error) {
265-
url := "/api/v1/components"
269+
query := url.Values{}
266270
if params != nil {
267-
url = fmt.Sprintf("%s?page=%d&size=%d", url, params.Page, params.PageSize)
271+
query.Add("page", fmt.Sprintf("%d", params.Page))
272+
query.Add("size", fmt.Sprintf("%d", params.PageSize))
268273
for k, v := range params.Filter {
269-
url = fmt.Sprintf("%s&%s=%s", url, k, v)
274+
query.Add(k, v)
270275
}
271276
}
272-
273-
resp, err := c.doRequest("GET", url, nil)
277+
278+
path := fmt.Sprintf("/api/v1/components?%s", query.Encode())
279+
resp, err := c.doRequest("GET", path, nil)
274280
if err != nil {
275281
return nil, err
276282
}
@@ -285,15 +291,17 @@ func (c *Client) ListStackComponents(params *ListParams) (*Page[ComponentRespons
285291
}
286292

287293
func (c *Client) ListServiceConnectors(params *ListParams) (*Page[ServiceConnectorResponse], error) {
288-
url := "/api/v1/service_connectors"
294+
query := url.Values{}
289295
if params != nil {
290-
url = fmt.Sprintf("%s?page=%d&size=%d", url, params.Page, params.PageSize)
296+
query.Add("page", fmt.Sprintf("%d", params.Page))
297+
query.Add("size", fmt.Sprintf("%d", params.PageSize))
291298
for k, v := range params.Filter {
292-
url = fmt.Sprintf("%s&%s=%s", url, k, v)
299+
query.Add(k, v)
293300
}
294301
}
295-
296-
resp, err := c.doRequest("GET", url, nil)
302+
303+
path := fmt.Sprintf("/api/v1/service_connectors?%s", query.Encode())
304+
resp, err := c.doRequest("GET", path, nil)
297305
if err != nil {
298306
return nil, err
299307
}

0 commit comments

Comments
 (0)