@@ -227,13 +227,22 @@ func NewAPIRequest(r *Request, api string, args []string, isAsync bool) (map[str
227
227
requestURL := fmt .Sprintf ("%s?%s" , r .Config .ActiveProfile .URL , encodedParams )
228
228
config .Debug ("NewAPIRequest API request URL:" , requestURL )
229
229
230
- response , err := r .Client ().Get (requestURL )
231
- if err != nil {
232
- return nil , err
230
+ var response * http.Response
231
+ if params .Has ("password" ) || params .Has ("userdata" ) {
232
+ requestURL = fmt .Sprintf ("%s" , r .Config .ActiveProfile .URL )
233
+ response , err = r .Client ().PostForm (requestURL , params )
234
+ if err != nil {
235
+ return nil , err
236
+ }
237
+ } else {
238
+ response , err = r .Client ().Get (requestURL )
239
+ if err != nil {
240
+ return nil , err
241
+ }
233
242
}
234
243
config .Debug ("NewAPIRequest response status code:" , response .StatusCode )
235
244
236
- if response != nil && response .StatusCode == http .StatusUnauthorized {
245
+ if response .StatusCode == http .StatusUnauthorized {
237
246
r .Client ().Jar , _ = cookiejar .New (nil )
238
247
sessionKey , err := Login (r )
239
248
if err != nil {
@@ -243,9 +252,18 @@ func NewAPIRequest(r *Request, api string, args []string, isAsync bool) (map[str
243
252
params .Add ("sessionkey" , sessionKey )
244
253
requestURL = fmt .Sprintf ("%s?%s" , r .Config .ActiveProfile .URL , encodeRequestParams (params ))
245
254
config .Debug ("NewAPIRequest API request URL:" , requestURL )
246
- response , err = r .Client ().Get (requestURL )
247
- if err != nil {
248
- return nil , err
255
+
256
+ if params .Has ("password" ) || params .Has ("userdata" ) {
257
+ requestURL = fmt .Sprintf ("%s" , r .Config .ActiveProfile .URL )
258
+ response , err = r .Client ().PostForm (requestURL , params )
259
+ if err != nil {
260
+ return nil , err
261
+ }
262
+ } else {
263
+ response , err = r .Client ().Get (requestURL )
264
+ if err != nil {
265
+ return nil , err
266
+ }
249
267
}
250
268
}
251
269
0 commit comments