(Object path, Object... optionalArgs)
| 2325 | } |
| 2326 | |
| 2327 | public Object sign(Object path, Object... optionalArgs) |
| 2328 | { |
| 2329 | Object api = Helpers.getArg(optionalArgs, 0, new java.util.ArrayList<Object>(java.util.Arrays.asList())); |
| 2330 | Object method = Helpers.getArg(optionalArgs, 1, "GET"); |
| 2331 | Object parameters = Helpers.getArg(optionalArgs, 2, new java.util.HashMap<String, Object>() {{}}); |
| 2332 | Object headers = Helpers.getArg(optionalArgs, 3, null); |
| 2333 | Object body = Helpers.getArg(optionalArgs, 4, null); |
| 2334 | Object version = Helpers.GetValue(api, 0); |
| 2335 | Object urlPath = Helpers.GetValue(api, 1); |
| 2336 | Object fullPath = Helpers.add(Helpers.add(Helpers.add("/rest/", version), "/"), this.implodeParams(path, parameters)); |
| 2337 | if (Helpers.isTrue(Helpers.isEqual(version, "status"))) |
| 2338 | { |
| 2339 | fullPath = "/status"; |
| 2340 | urlPath = "status"; |
| 2341 | } |
| 2342 | Object url = Helpers.add(Helpers.GetValue(Helpers.GetValue(this.urls, "api"), urlPath), fullPath); |
| 2343 | parameters = this.omit(parameters, this.extractParams(path)); |
| 2344 | Object timestamp = this.milliseconds(); |
| 2345 | Object query = ""; |
| 2346 | Object signatureQuery = ""; |
| 2347 | if (Helpers.isTrue(Helpers.isEqual(method, "GET"))) |
| 2348 | { |
| 2349 | Object paramKeys = Helpers.objectKeys(parameters); |
| 2350 | Object paramKeysLength = Helpers.getArrayLength(paramKeys); |
| 2351 | if (Helpers.isTrue(Helpers.isGreaterThan(paramKeysLength, 0))) |
| 2352 | { |
| 2353 | query = this.urlencode(parameters); |
| 2354 | url = Helpers.add(url, Helpers.add("?", query)); |
| 2355 | } |
| 2356 | for (var i = 0; Helpers.isLessThan(i, Helpers.getArrayLength(paramKeys)); i++) |
| 2357 | { |
| 2358 | Object key = Helpers.GetValue(paramKeys, i); |
| 2359 | Object value = this.safeString(parameters, key); |
| 2360 | if (Helpers.isTrue(!Helpers.isEqual(value, null))) |
| 2361 | { |
| 2362 | signatureQuery = Helpers.add(signatureQuery, Helpers.add(Helpers.add(key, "="), value)); |
| 2363 | } |
| 2364 | if (Helpers.isTrue(Helpers.isLessThan(i, Helpers.subtract(paramKeysLength, 1)))) |
| 2365 | { |
| 2366 | signatureQuery = Helpers.add(signatureQuery, "&"); |
| 2367 | } |
| 2368 | } |
| 2369 | } |
| 2370 | if (Helpers.isTrue(Helpers.isTrue(Helpers.isEqual(method, "POST")) || Helpers.isTrue(Helpers.isEqual(method, "PUT")))) |
| 2371 | { |
| 2372 | body = this.json(parameters); |
| 2373 | } |
| 2374 | Object bodyToSignature = ""; |
| 2375 | if (Helpers.isTrue(!Helpers.isEqual(body, null))) |
| 2376 | { |
| 2377 | bodyToSignature = body; |
| 2378 | } |
| 2379 | headers = new java.util.HashMap<String, Object>() {{ |
| 2380 | put( "Content-Type", "application/json" ); |
| 2381 | }}; |
| 2382 | if (Helpers.isTrue(Helpers.isEqual(urlPath, "private"))) |
| 2383 | { |
| 2384 | this.checkRequiredCredentials(); |
nothing calls this directly
no test coverage detected