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(); }