5
5
"bytes"
6
6
"encoding/json"
7
7
"fmt"
8
+ "io"
8
9
"net/http"
9
10
"net/url"
10
11
)
@@ -234,14 +235,17 @@ func (c *Client) ListStacks(params *ListParams) (*Page[StackResponse], error) {
234
235
}
235
236
}
236
237
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
+
239
242
// Add filters if any
240
243
for k , v := range params .Filter {
241
- url = fmt . Sprintf ( "%s&%s=%s" , url , k , v )
244
+ query . Add ( k , v )
242
245
}
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 )
245
249
if err != nil {
246
250
return nil , err
247
251
}
@@ -262,15 +266,17 @@ func (c *Client) ListStacks(params *ListParams) (*Page[StackResponse], error) {
262
266
263
267
// Add pagination support to all list methods
264
268
func (c * Client ) ListStackComponents (params * ListParams ) (* Page [ComponentResponse ], error ) {
265
- url := "/api/v1/components"
269
+ query := url. Values {}
266
270
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 ))
268
273
for k , v := range params .Filter {
269
- url = fmt . Sprintf ( "%s&%s=%s" , url , k , v )
274
+ query . Add ( k , v )
270
275
}
271
276
}
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 )
274
280
if err != nil {
275
281
return nil , err
276
282
}
@@ -285,15 +291,17 @@ func (c *Client) ListStackComponents(params *ListParams) (*Page[ComponentRespons
285
291
}
286
292
287
293
func (c * Client ) ListServiceConnectors (params * ListParams ) (* Page [ServiceConnectorResponse ], error ) {
288
- url := "/api/v1/service_connectors"
294
+ query := url. Values {}
289
295
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 ))
291
298
for k , v := range params .Filter {
292
- url = fmt . Sprintf ( "%s&%s=%s" , url , k , v )
299
+ query . Add ( k , v )
293
300
}
294
301
}
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 )
297
305
if err != nil {
298
306
return nil , err
299
307
}
0 commit comments