(Object path, Object... optionalArgs)
| 2195 | } |
| 2196 | |
| 2197 | public Object sign(Object path, Object... optionalArgs) |
| 2198 | { |
| 2199 | Object api = Helpers.getArg(optionalArgs, 0, "public"); |
| 2200 | Object method = Helpers.getArg(optionalArgs, 1, "GET"); |
| 2201 | Object parameters = Helpers.getArg(optionalArgs, 2, new java.util.HashMap<String, Object>() {{}}); |
| 2202 | Object headers = Helpers.getArg(optionalArgs, 3, null); |
| 2203 | Object body = Helpers.getArg(optionalArgs, 4, null); |
| 2204 | parameters = this.omit(parameters, "defaultType"); |
| 2205 | Object isV1 = Helpers.isGreaterThan(Helpers.getIndexOf(path, "v1/"), Helpers.opNeg(1)); |
| 2206 | Object marketType = ((Helpers.isTrue(isV1))) ? "swap" : "spot"; |
| 2207 | Object url = Helpers.GetValue(Helpers.GetValue(this.urls, "api"), marketType); |
| 2208 | Object tail = Helpers.add("/api/", this.implodeParams(path, parameters)); |
| 2209 | url = Helpers.add(url, tail); |
| 2210 | Object timestamp = String.valueOf(this.milliseconds()); |
| 2211 | Object signature = ""; |
| 2212 | Object query = this.omit(parameters, this.extractParams(path)); |
| 2213 | Object queryLength = Helpers.getArrayLength(Helpers.objectKeys(query)); |
| 2214 | Object access = this.safeString(api, 0, "public"); |
| 2215 | if (Helpers.isTrue(Helpers.isEqual(access, "public"))) |
| 2216 | { |
| 2217 | if (Helpers.isTrue(Helpers.isTrue(Helpers.isEqual(method, "GET")) || Helpers.isTrue(Helpers.isEqual(method, "DELETE")))) |
| 2218 | { |
| 2219 | if (Helpers.isTrue(queryLength)) |
| 2220 | { |
| 2221 | url = Helpers.add(url, Helpers.add("?", this.urlencode(query))); |
| 2222 | } |
| 2223 | } else |
| 2224 | { |
| 2225 | body = Helpers.json(parameters); |
| 2226 | headers = new java.util.HashMap<String, Object>() {{ |
| 2227 | put( "Referrer", "ccxt" ); |
| 2228 | put( "Content-Type", "application/json" ); |
| 2229 | }}; |
| 2230 | } |
| 2231 | } else |
| 2232 | { |
| 2233 | this.checkRequiredCredentials(); |
| 2234 | Object isSpot = Helpers.isEqual(marketType, "spot"); |
| 2235 | Helpers.addElementToObject(parameters, "timestamp", timestamp); |
| 2236 | if (Helpers.isTrue(Helpers.isTrue(Helpers.isEqual(method, "GET")) || Helpers.isTrue((Helpers.isTrue(Helpers.isEqual(method, "DELETE")) && Helpers.isTrue(isSpot))))) |
| 2237 | { |
| 2238 | // For GET/DELETE: Append params to URL and sign the query string |
| 2239 | Object queryString = this.urlencode(parameters); |
| 2240 | signature = this.hmac(this.encode(queryString), this.encode(this.secret), sha256(), "hex"); |
| 2241 | url = Helpers.add(url, Helpers.add("?", queryString)); |
| 2242 | } else |
| 2243 | { |
| 2244 | // For POST/PUT: Convert body to JSON and sign the stringified payload |
| 2245 | body = this.json(parameters); |
| 2246 | signature = this.hmac(this.encode(body), this.encode(this.secret), sha256(), "hex"); |
| 2247 | } |
| 2248 | final Object finalSignature = signature; |
| 2249 | headers = new java.util.HashMap<String, Object>() {{ |
| 2250 | put( "Referrer", "ccxt" ); |
| 2251 | put( "X-AUTH-APIKEY", ZebpayCore.this.apiKey ); |
| 2252 | put( "X-AUTH-SIGNATURE", finalSignature ); |
| 2253 | }}; |
| 2254 | Helpers.addElementToObject(headers, "Content-Type", "application/json"); |
nothing calls this directly
no test coverage detected