From e7e209280c9bf5649d4f32016a8f2fffe04f4ed6 Mon Sep 17 00:00:00 2001 From: Shannon Date: Wed, 4 Dec 2013 14:47:19 +1100 Subject: [PATCH] Fixes issue with replacing webapi formatter --- .../WebApi/HttpControllerContextExtensions.cs | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/src/Umbraco.Web/WebApi/HttpControllerContextExtensions.cs b/src/Umbraco.Web/WebApi/HttpControllerContextExtensions.cs index f12ebb9b79..710e795226 100644 --- a/src/Umbraco.Web/WebApi/HttpControllerContextExtensions.cs +++ b/src/Umbraco.Web/WebApi/HttpControllerContextExtensions.cs @@ -2,6 +2,7 @@ using System.Collections.Generic; using System.Linq; using System.Net.Http; +using System.Net.Http.Formatting; using System.Runtime.Remoting.Contexts; using System.Threading; using System.Threading.Tasks; @@ -101,8 +102,15 @@ namespace Umbraco.Web.WebApi /// internal static void EnsureJsonOutputOnly(this HttpControllerContext controllerContext) { - controllerContext.Configuration.Formatters.Remove(controllerContext.Configuration.Formatters.XmlFormatter); - controllerContext.Configuration.Formatters.Remove(controllerContext.Configuration.Formatters.JsonFormatter); + //remove all json/xml formatters then add our custom one + for (var i = 0; i < controllerContext.Configuration.Formatters.Count;i++) + { + if ((controllerContext.Configuration.Formatters[i] is JsonMediaTypeFormatter) + || (controllerContext.Configuration.Formatters[i] is XmlMediaTypeFormatter)) + { + controllerContext.Configuration.Formatters.RemoveAt(i); + } + } controllerContext.Configuration.Formatters.Add(new AngularJsonMediaTypeFormatter()); } }