(Object path, Object... optionalArgs)
| 3425 | } |
| 3426 | |
| 3427 | public Object sign(Object path, Object... optionalArgs) |
| 3428 | { |
| 3429 | Object api = Helpers.getArg(optionalArgs, 0, "public"); |
| 3430 | Object method = Helpers.getArg(optionalArgs, 1, "GET"); |
| 3431 | Object parameters = Helpers.getArg(optionalArgs, 2, new java.util.HashMap<String, Object>() {{}}); |
| 3432 | Object headers = Helpers.getArg(optionalArgs, 3, null); |
| 3433 | Object body = Helpers.getArg(optionalArgs, 4, null); |
| 3434 | Object request = Helpers.add(Helpers.add(Helpers.add("/api/", this.version), "/"), this.implodeParams(path, parameters)); |
| 3435 | Object query = this.omit(parameters, this.extractParams(path)); |
| 3436 | Object url = Helpers.add(Helpers.GetValue(Helpers.GetValue(this.urls, "api"), "rest"), request); |
| 3437 | // const type = this.getPathAuthenticationType (path); |
| 3438 | if (Helpers.isTrue(Helpers.isEqual(api, "public"))) |
| 3439 | { |
| 3440 | if (!Helpers.isTrue(this.isEmpty(query))) |
| 3441 | { |
| 3442 | url = Helpers.add(url, Helpers.add("?", this.urlencode(query))); |
| 3443 | } |
| 3444 | } else if (Helpers.isTrue(Helpers.isEqual(api, "private"))) |
| 3445 | { |
| 3446 | this.checkRequiredCredentials(); |
| 3447 | Object timestamp = String.valueOf(this.milliseconds()); |
| 3448 | headers = new java.util.HashMap<String, Object>() {{ |
| 3449 | put( "ACCESS-KEY", BlofinCore.this.apiKey ); |
| 3450 | put( "ACCESS-PASSPHRASE", BlofinCore.this.password ); |
| 3451 | put( "ACCESS-TIMESTAMP", timestamp ); |
| 3452 | put( "ACCESS-NONCE", timestamp ); |
| 3453 | }}; |
| 3454 | Object sign_body = ""; |
| 3455 | if (Helpers.isTrue(Helpers.isEqual(method, "GET"))) |
| 3456 | { |
| 3457 | if (!Helpers.isTrue(this.isEmpty(query))) |
| 3458 | { |
| 3459 | Object urlencodedQuery = Helpers.add("?", this.urlencode(query)); |
| 3460 | url = Helpers.add(url, urlencodedQuery); |
| 3461 | request = Helpers.add(request, urlencodedQuery); |
| 3462 | } |
| 3463 | } else |
| 3464 | { |
| 3465 | if (!Helpers.isTrue(this.isEmpty(query))) |
| 3466 | { |
| 3467 | body = this.json(query); |
| 3468 | sign_body = body; |
| 3469 | } |
| 3470 | Helpers.addElementToObject(headers, "Content-Type", "application/json"); |
| 3471 | } |
| 3472 | Object auth = Helpers.add(Helpers.add(Helpers.add(Helpers.add(request, method), timestamp), timestamp), sign_body); |
| 3473 | Object signature = this.stringToBase64(this.hmac(this.encode(auth), this.encode(this.secret), sha256())); |
| 3474 | Helpers.addElementToObject(headers, "ACCESS-SIGN", signature); |
| 3475 | } |
| 3476 | final Object finalUrl = url; |
| 3477 | final Object finalMethod = method; |
| 3478 | final Object finalBody = body; |
| 3479 | final Object finalHeaders = headers; |
| 3480 | return new java.util.HashMap<String, Object>() {{ |
| 3481 | put( "url", finalUrl ); |
| 3482 | put( "method", finalMethod ); |
| 3483 | put( "body", finalBody ); |
| 3484 | put( "headers", finalHeaders ); |
nothing calls this directly
no test coverage detected