Exemplo n.º 1
0
        private static CulqiException BuildCulqiException(CulqiResponse response)
        {
            CulqiError error = null;

            try
            {
                error = JsonConvert.DeserializeObject <CulqiError>(response.Content);
            }
            catch (Newtonsoft.Json.JsonException)
            {
                return(BuildInvalidResponseException(response));
            }


            if (error == null)
            {
                return(BuildInvalidResponseException(response));
            }

            var culqiError = CulqiError.FromJson(response.Content);

            culqiError.CulqiResponse = response;

            return(new CulqiException(response.StatusCode, culqiError, culqiError.Message ?? culqiError.UserMessage)
            {
                CulqiResponse = response
            });
        }
Exemplo n.º 2
0
 private static CulqiException BuildInvalidResponseException(CulqiResponse response)
 {
     return(new CulqiException(response.StatusCode, null, $"Invalid response object from API: \"{response.Content}\"")
     {
         CulqiResponse = response,
     });
 }
Exemplo n.º 3
0
        private static T ProcessResponse <T>(CulqiResponse response) where T : ICulqiEntity
        {
            if (response.StatusCode != HttpStatusCode.OK && response.StatusCode != HttpStatusCode.Created)
            {
                throw BuildCulqiException(response);
            }

            T obj;

            try
            {
                obj = CulqiEntity.FromJson <T>(response.Content);
            }
            catch (Newtonsoft.Json.JsonException)
            {
                throw BuildInvalidResponseException(response);
            }

            obj.CulqiResponse = response;
            return(obj);
        }