/// <summary> /// websocket open handle /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void OnOpen(object sender, EventArgs e) { logger.Log(Log.LogLevel.Info, "WebSocket opened"); isConnected = true; if (accessKey != null && secretKey != null) { if (beSpot) { string timestamp = DateTime.UtcNow.ToString("s"); WSChAuthData auth = new WSChAuthData() { param = new WSChAuthData.Params() { accessKey = accessKey, timestamp = timestamp } }; var sign = new Signer(secretKey); var req = new GetRequest() .AddParam("accessKey", auth.param.accessKey) .AddParam("signatureMethod", auth.param.signatureMethod) .AddParam("signatureVersion", auth.param.signatureVersion) .AddParam("timestamp", auth.param.timestamp); string signature = sign.Sign("GET", host, path, req.BuildParams()); auth.param.signature = signature; string auth_str = JsonConvert.SerializeObject(auth); websocket.Send(auth_str); logger.Log(Log.LogLevel.Info, $"websocket has send data: {auth_str}"); } else { string timestamp = DateTime.UtcNow.ToString("s"); WSOpAuthData auth = new WSOpAuthData() { accessKeyId = accessKey, timestamp = timestamp, cid = "1111" }; var sign = new Signer(secretKey); var req = new GetRequest() .AddParam("AccessKeyId", auth.accessKeyId) .AddParam("SignatureMethod", auth.signatureMethod) .AddParam("SignatureVersion", auth.signatureVersion) .AddParam("Timestamp", auth.timestamp); string signature = sign.Sign("GET", host, path, req.BuildParams()); auth.signature = signature; string auth_str = JsonConvert.SerializeObject(auth); websocket.Send(auth_str); logger.Log(Log.LogLevel.Info, $"websocket has send data: {auth_str}"); } } websocket.Send(subStr); logger.Log(Log.LogLevel.Info, $"websocket has send data: {subStr}"); }
/// <summary> /// websocket open handle /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void _WebSocket_OnOpen(object sender, EventArgs e) { _logger.Log(Log.LogLevel.Info, "WebSocket opened"); _canWork = true; if (_accessKey != null && _secretKey != null) { string timestamp = DateTime.UtcNow.ToString("s"); var sign = new Signer(_secretKey); var req = new GetRequest() .AddParam("AccessKeyId", _accessKey) .AddParam("SignatureMethod", "HmacSHA256") .AddParam("SignatureVersion", "2") .AddParam("Timestamp", timestamp); string signature = sign.Sign("GET", _host, _path, req.BuildParams()); WSAuthData auth = new WSAuthData() { accessKeyId = _accessKey, signature = signature, timestamp = timestamp }; string auth_str = JsonConvert.SerializeObject(auth); _WebSocket.Send(auth_str); _all_sub_strs.Add(auth_str); _canWork = false; } }
public string Build(string method, string path, DateTime utcDateTime, GetRequest request) { string strDateTime = utcDateTime.ToString("s"); var req = new GetRequest(request) .AddParam(_aKKey, _aKValue) .AddParam(_sMKey, _sMVaue) .AddParam(_sVKey, _sVValue) .AddParam(_tKey, strDateTime); string signature = _signer.Sign(req.BuildParams()); string url = $"https://{_host}{path}?{req.BuildParams()}&Signature={Uri.EscapeDataString(signature)}"; return(url); }
public void BuildParams_NullParam_ReturnEmpty() { var request = new GetRequest(); string result = request.BuildParams(); Assert.Equal("", result); }
public void BuildParams_ConcatedParam_ReturnConcatedPair() { var request1 = new GetRequest().AddParam("key1", "value1"); var request2 = new GetRequest(request1).AddParam("key2", "value2"); string result = request2.BuildParams(); Assert.Equal("key1=value1&key2=value2", result); }
public string Build(string method, string path, GetRequest query = null) { string strDateTime = DateTime.UtcNow.ToString("s"); var req = new GetRequest(query) .AddParam(_aKKey, _aKValue) .AddParam(_sMKey, _sMVaue) .AddParam(_sVKey, _sVValue) .AddParam(_tKey, strDateTime); string to_sign_str = req.BuildParams(); string signature = _signer.Sign(method, _host, path, to_sign_str); string options = req.BuildParams() + "&Signature=" + Uri.EscapeDataString(signature); string url = $"{Host.HTTP_PRO}://{_host}{path}?{options}"; return(url); }
public string Build(string path, GetRequest query = null) { string options = string.Empty; if (query != null) { options = $"?{query.BuildParams()}"; } return($"{Host.HTTP_PRO}://{_host}{path}{options}"); }
public string Build(string path, GetRequest request = null) { if (request != null) { return($"https://{_host}{path}?{request.BuildParams()}"); } else { return($"https://{_host}{path}"); } }
public void BuildParams_ThreeParam_ReturnOrderedThreePairs() { var request = new GetRequest() .AddParam("AccessKey", "value1") .AddParam("SignatureMethod", "value2") .AddParam("account-id", "value3"); string result = request.BuildParams(); Assert.Equal("AccessKey=value1&SignatureMethod=value2&account-id=value3", result); }
public string BuildSign(DateTime utcDateTime) { string strDateTime = utcDateTime.ToString("s"); var request = new GetRequest() .AddParam("AccessKeyId", _publicKey) .AddParam("SignatureMethod", "HmacSHA256") .AddParam("SignatureVersion", "2") .AddParam("Timestamp", strDateTime); string signature = _signer.Sign("GET", _host, _path, request.BuildParams()); var auth = new WebSocketAuthenticationRequestFutures { AccessKeyId = _publicKey, Timestamp = strDateTime, Signature = signature }; return(auth.ToJson()); }
public string Build(DateTime utcDateTime) { string strDateTime = utcDateTime.ToString("s"); var request = new GetRequest() .AddParam(_aKKey, _aKValue) .AddParam(_sMKey, _sMVaue) .AddParam(_sVKey, _sVValue) .AddParam(_tKey, strDateTime); string signature = _signer.Sign("GET", _host, _path, request.BuildParams()); var auth = new WebSocketAuthenticationRequest { AccessKeyId = _aKValue, Timestamp = strDateTime, Signature = signature }; return(auth.ToJson()); }
public string Build(DateTime utcDateTime) { string strDateTime = utcDateTime.ToString("s"); var request = new GetRequest() .AddParam(_aKKey, _aKValue) .AddParam(_sMKey, _sMVaue) .AddParam(_sVKey, _sVValue) .AddParam(_tKey, strDateTime); string signature = _signer.Sign(request.BuildParams()); var auth = new WebSocketAuthenticationRequestV2 { @params = new WebSocketAuthenticationRequestV2.Params { apiKey = _aKValue, timestamp = strDateTime, signature = signature } }; return(auth.ToJson()); }
public string BuildSign(DateTime utcDateTime) { string strDateTime = utcDateTime.ToString("s"); var request = new GetRequest() .AddParam("accessKey", _publicKey) .AddParam("signatureMethod", "HmacSHA256") .AddParam("signatureVersion", "2.1") .AddParam("timestamp", strDateTime); string signature = _signer.Sign("GET", _host, _path, request.BuildParams()); var auth = new WebSocketAuthenticationRequestV2 { @params = new WebSocketAuthenticationRequestV2.Params { accessKey = _publicKey, timestamp = strDateTime, signature = signature } }; return(auth.ToJson()); }