Example #1
0
        private async Task <TResponse> SendAsync <TResponse>(IStsRequest request)
            where TResponse : IStsResponse
        {
            var httpRequest = new HttpRequestMessage(HttpMethod.Post, Endpoint)
            {
                Content = GetPostContent(StsRequestHelper.ToParams(request))
            };

            string responseText = await SendAsync(httpRequest).ConfigureAwait(false);

            return(StsSerializer <TResponse> .ParseXml(responseText));
        }
Example #2
0
        public static Dictionary <string, string> ToParams(IStsRequest instance)
        {
            var parameters = new Dictionary <string, string>();

            foreach (var member in JsonObject.FromObject(instance))
            {
                if (member.Value is XNull)
                {
                    continue;
                }

                /*
                 * if (member.Value is JsonArray array)
                 * {
                 *  for (var i = 0; i < array.Count; i++)
                 *  {
                 *      var prefix = member.Key + ".member." + (i + 1);
                 *
                 *      var element = array[i];
                 *
                 *      if (element is JsonObject obj)
                 *      {
                 *          AddParameters(parameters, prefix, obj);
                 *      }
                 *      else
                 *      {
                 *          parameters.Add(prefix, element.ToString());
                 *      }
                 *  }
                 * }
                 */
                /*
                 * else if (member.Value is JsonObject obj)
                 * {
                 *  AddParameters(parameters, member.Key, obj);
                 * }
                 */
                else
                {
                    parameters.Add(member.Key, member.Value.ToString());
                }
            }

            return(parameters);
        }