Пример #1
0
        protected override async Task <HttpResponseMessage> SendAsync(
            HttpRequestMessage request, CancellationToken cancellationToken)
        {
            var resp = await base.SendAsync(request, cancellationToken).ConfigureAwait(false);

            if (!resp.IsSuccessStatusCode)
            {
                var rstr = await resp.Content.ReadAsStringAsync().ConfigureAwait(false);

                var json = DynamicJson.Parse(rstr);
                var ex   = new TwitterApiException(resp.StatusCode, rstr);
                try
                {
                    if (json.errors() && json.errors[0].code() && json.errors[0].message())
                    {
                        ex = new TwitterApiException(resp.StatusCode,
                                                     json.errors[0].message, (TwitterErrorCode)((int)json.errors[0].code));
                    }
                }
                catch
                {
                    // ignore parse exception
                }
                throw ex;
            }
            return(resp.EnsureSuccessStatusCode());
        }
 protected override async Task<HttpResponseMessage> SendAsync(HttpRequestMessage request, System.Threading.CancellationToken cancellationToken)
 {
     var resp = await base.SendAsync(request, cancellationToken);
     if (!resp.IsSuccessStatusCode)
     {
         var rstr = await resp.Content.ReadAsStringAsync();
         var json = DynamicJson.Parse(rstr);
         var ex = new TwitterApiException(resp.StatusCode, rstr);
         try
         {
             if (json.errors() && json.errors[0].code() && json.errors[0].message())
             {
                 ex = new TwitterApiException(resp.StatusCode,
                                               json.errors[0].message, (int)json.errors[0].code);
             }
         }
         catch { }
         throw ex;
     }
     return resp.EnsureSuccessStatusCode();
 }