Exemple #1
0
        public static async Task <T> Handle <T>(HttpResponseMessage response)
        {
            var json = await response.Content.ReadAsStringAsync();

            if (!response.IsSuccessStatusCode)
            {
                var error = JsonConvert.DeserializeObject <ErrorResponse>(json, JsonSerializerSettingsFactory.Create()) ?? ErrorResponse.NewEmpty();

                throw new GiphyApiClientException($"Error with request. HTTP response code: '{response.StatusCode}'.  Message: '{error.Message}'.", (int)response.StatusCode);
            }

            return(JsonConvert.DeserializeObject <T>(json, JsonSerializerSettingsFactory.Create()));
        }
Exemple #2
0
        public static void Register(HttpConfiguration config, IContainer container)
        {
            // Web API configuration and services


            // Web API routes
            config.MapHttpAttributeRoutes();

            config.Routes.MapHttpRoute("DefaultApi", "api/{controller}/{id}", new { id = RouteParameter.Optional });
            config.Formatters.XmlFormatter.SupportedMediaTypes.Clear();
            config.Formatters.JsonFormatter.SerializerSettings = JsonSerializerSettingsFactory.Create(container.Resolve <IComponentContext>());

            config.Services.Replace(typeof(IExceptionHandler), new GlobalExceptionHandler());
            config.Services.Add(typeof(IExceptionLogger), new GlobalErrorLogger());

            config.EnableCors(new EnableCorsAttribute("*", "*", "GET, POST, OPTIONS, PUT, DELETE"));
        }