public override void RequestModify(HttpRequestMessage request, CancellationToken cancellationToken) { var headers = request.Headers; var prevData = ApiHelpers.DecodeUrlEncodedBody(request.Content.ReadAsStringAsync().Result).ToList(); var postData = new List <KeyValuePair <string, string> >(); postData.Add(new KeyValuePair <string, string>("nonce", GetNonce().ToString())); postData.AddRange(prevData); var bodyDataEnc = postData.Select(x => $"{x.Key}={x.Value}").ToArray(); var message = string.Join("&", bodyDataEnc); var sign = HashHMACSHA512Hex(message, ApiKey.Secret); request.Content = new FormUrlEncodedContent(postData); headers.Add("KEY", ApiKey.Key); headers.Add("Sign", sign); }