コード例 #1
0
        public void Serialize_Empty()
        {
            var command = new NewOrderSingle();
            var json    = _serializer.Serialize(command);

            json.Should().Be("{}");
        }
コード例 #2
0
        private async Task <TResult> SendAsync <TResult>(
            string path,
            HttpMethod method,
            string query     = null,
            IMessage command = null,
            CancellationToken cancellationToken = default)
        {
            var request = BuildRequestBase(path, method, query);

            var nonce       = (new DateTimeOffset(DateTime.UtcNow).ToUnixTimeMilliseconds() * 1000000).ToString();
            var authPayload = $"AUTH{nonce}";
            var signature   = XenaSignature.Sign(_options.ApiSecret, authPayload);

            request.Headers.Add("X-AUTH-API-KEY", _options.ApiKey);
            request.Headers.Add("X-AUTH-API-PAYLOAD", authPayload);
            request.Headers.Add("X-AUTH-API-SIGNATURE", signature);
            request.Headers.Add("X-AUTH-API-NONCE", nonce);

            if (command != null)
            {
                var payload = _serializer.Serialize(command);
                request.Content = new StringContent(payload, Encoding.UTF8, "application/json");
            }

            return(await SendAsyncBase <TResult>(request, _serializer, cancellationToken).ConfigureAwait(false));
        }