コード例 #1
0
 /// <summary>
 /// Throws an exception if the API call failed
 /// </summary>
 /// <param name="responseMessage">The ResponseMessage returned from the API</param>
 private void EnsureYouMailResponse(HttpResponseMessage responseMessage)
 {
     if (!responseMessage.IsSuccessStatusCode)
     {
         string          message       = null;
         YouMailResponse apiError      = null;
         var             messageStream = responseMessage.GetResponseStream();
         if (messageStream != null)
         {
             try
             {
                 apiError = DeserializeObject <YouMailResponse>(messageStream);
                 message  = apiError.GetErrorMessage();
                 if (message == null)
                 {
                     message = apiError.LongMessage;
                 }
             }
             catch
             {
             }
         }
         throw new YouMailException(message, apiError, responseMessage.StatusCode, null);
     }
 }
コード例 #2
0
 /// <summary>
 /// Convert a WebException into a YouMailException
 /// </summary>
 /// <param name="e"></param>
 /// <returns></returns>
 private YouMailException ConvertException(WebException e)
 {
     if (e is WebException)
     {
         WebException we = e as WebException;
         if (we.Response is HttpWebResponse)
         {
             var             webResponse = we.Response as HttpWebResponse;
             var             s           = webResponse.GetResponseStream();
             YouMailResponse error       = null;
             try
             {
                 error = DeserializeObject <YouMailResponse>(s);
                 return(new YouMailException(error.GetErrorMessage(), error, webResponse.StatusCode, e));
             }
             catch
             {
             }
         }
     }
     return(null);
 }