(Object path, Object... optionalArgs)
| 2728 | } |
| 2729 | |
| 2730 | public Object sign(Object path, Object... optionalArgs) |
| 2731 | { |
| 2732 | Object api = Helpers.getArg(optionalArgs, 0, "public"); |
| 2733 | Object method = Helpers.getArg(optionalArgs, 1, "GET"); |
| 2734 | Object parameters = Helpers.getArg(optionalArgs, 2, new java.util.HashMap<String, Object>() {{}}); |
| 2735 | Object headers = Helpers.getArg(optionalArgs, 3, null); |
| 2736 | Object body = Helpers.getArg(optionalArgs, 4, null); |
| 2737 | Object url = this.implodeParams(Helpers.GetValue(Helpers.GetValue(this.urls, "api"), api), new java.util.HashMap<String, Object>() {{ |
| 2738 | put( "hostname", UpbitCore.this.hostname ); |
| 2739 | }}); |
| 2740 | url = Helpers.add(url, Helpers.add(Helpers.add(Helpers.add("/", this.version), "/"), this.implodeParams(path, parameters))); |
| 2741 | Object query = this.omit(parameters, this.extractParams(path)); |
| 2742 | if (Helpers.isTrue(!Helpers.isEqual(method, "POST"))) |
| 2743 | { |
| 2744 | if (Helpers.isTrue(Helpers.getArrayLength(Helpers.objectKeys(query)))) |
| 2745 | { |
| 2746 | url = Helpers.add(url, Helpers.add("?", this.urlencode(query))); |
| 2747 | } |
| 2748 | } |
| 2749 | if (Helpers.isTrue(Helpers.isEqual(api, "private"))) |
| 2750 | { |
| 2751 | this.checkRequiredCredentials(); |
| 2752 | headers = new java.util.HashMap<String, Object>() {{}}; |
| 2753 | Object nonce = this.uuid(); |
| 2754 | Object request = new java.util.HashMap<String, Object>() {{ |
| 2755 | put( "access_key", UpbitCore.this.apiKey ); |
| 2756 | put( "nonce", nonce ); |
| 2757 | }}; |
| 2758 | Object hasQuery = Helpers.getArrayLength(Helpers.objectKeys(query)); |
| 2759 | Object auth = null; |
| 2760 | if (Helpers.isTrue(Helpers.isTrue((!Helpers.isEqual(method, "GET"))) && Helpers.isTrue((!Helpers.isEqual(method, "DELETE"))))) |
| 2761 | { |
| 2762 | body = this.json(parameters); |
| 2763 | Helpers.addElementToObject(headers, "Content-Type", "application/json"); |
| 2764 | } |
| 2765 | if (Helpers.isTrue(hasQuery)) |
| 2766 | { |
| 2767 | auth = this.rawencode(query); |
| 2768 | } |
| 2769 | if (Helpers.isTrue(!Helpers.isEqual(auth, null))) |
| 2770 | { |
| 2771 | Object hash = this.hash(this.encode(auth), sha512()); |
| 2772 | Helpers.addElementToObject(request, "query_hash", hash); |
| 2773 | Helpers.addElementToObject(request, "query_hash_alg", "SHA512"); |
| 2774 | } |
| 2775 | Object token = jwt(request, this.encode(this.secret), sha256()); |
| 2776 | Helpers.addElementToObject(headers, "Authorization", Helpers.add("Bearer ", token)); |
| 2777 | } |
| 2778 | final Object finalUrl = url; |
| 2779 | final Object finalMethod = method; |
| 2780 | final Object finalBody = body; |
| 2781 | final Object finalHeaders = headers; |
| 2782 | return new java.util.HashMap<String, Object>() {{ |
| 2783 | put( "url", finalUrl ); |
| 2784 | put( "method", finalMethod ); |
| 2785 | put( "body", finalBody ); |
| 2786 | put( "headers", finalHeaders ); |
| 2787 | }}; |
nothing calls this directly
no test coverage detected