diff --git a/src/Microsoft.AspNet.Mvc.Core/Internal/UTF8EncodingWithoutBOM.cs b/src/Microsoft.AspNet.Mvc.Common/Encodings.cs
similarity index 50%
rename from src/Microsoft.AspNet.Mvc.Core/Internal/UTF8EncodingWithoutBOM.cs
rename to src/Microsoft.AspNet.Mvc.Common/Encodings.cs
index 8031b09efc..7879febce1 100644
--- a/src/Microsoft.AspNet.Mvc.Core/Internal/UTF8EncodingWithoutBOM.cs
+++ b/src/Microsoft.AspNet.Mvc.Common/Encodings.cs
@@ -3,11 +3,14 @@
using System.Text;
-namespace Microsoft.AspNet.Mvc.Internal
+namespace Microsoft.AspNet.Mvc
{
- public static class UTF8EncodingWithoutBOM
+ internal static class Encodings
{
- public static readonly Encoding Encoding
- = new UTF8Encoding(encoderShouldEmitUTF8Identifier: false);
+ ///
+ /// Returns UTF8 Encoding without BOM and throws on invalid bytes
+ ///
+ public static readonly Encoding UTF8EncodingWithoutBOM
+ = new UTF8Encoding(encoderShouldEmitUTF8Identifier: false, throwOnInvalidBytes: true);
}
}
\ No newline at end of file
diff --git a/src/Microsoft.AspNet.Mvc.Common/Microsoft.AspNet.Mvc.Common.kproj b/src/Microsoft.AspNet.Mvc.Common/Microsoft.AspNet.Mvc.Common.kproj
index a82a179555..c76849b092 100644
--- a/src/Microsoft.AspNet.Mvc.Common/Microsoft.AspNet.Mvc.Common.kproj
+++ b/src/Microsoft.AspNet.Mvc.Common/Microsoft.AspNet.Mvc.Common.kproj
@@ -20,6 +20,7 @@
+
diff --git a/src/Microsoft.AspNet.Mvc.Common/project.json b/src/Microsoft.AspNet.Mvc.Common/project.json
index 90bfb2c484..2fed1ce7e2 100644
--- a/src/Microsoft.AspNet.Mvc.Common/project.json
+++ b/src/Microsoft.AspNet.Mvc.Common/project.json
@@ -9,6 +9,10 @@
},
"configurations": {
"net45": {},
- "k10": {}
+ "k10": {
+ "dependencies": {
+ "System.Text.Encoding.Extensions": "4.0.10.0"
+ }
}
+ }
}
\ No newline at end of file
diff --git a/src/Microsoft.AspNet.Mvc.Core/ActionResults/JsonResult.cs b/src/Microsoft.AspNet.Mvc.Core/ActionResults/JsonResult.cs
index aac9c93802..06afd12f8f 100644
--- a/src/Microsoft.AspNet.Mvc.Core/ActionResults/JsonResult.cs
+++ b/src/Microsoft.AspNet.Mvc.Core/ActionResults/JsonResult.cs
@@ -4,7 +4,6 @@
using System;
using System.IO;
using System.Text;
-using Microsoft.AspNet.Mvc.Internal;
using Newtonsoft.Json;
namespace Microsoft.AspNet.Mvc
@@ -14,7 +13,7 @@ namespace Microsoft.AspNet.Mvc
private const int BufferSize = 1024;
private JsonSerializerSettings _jsonSerializerSettings;
- private Encoding _encoding = UTF8EncodingWithoutBOM.Encoding;
+ private Encoding _encoding = Encodings.UTF8EncodingWithoutBOM;
public JsonResult([NotNull] object data)
{
diff --git a/src/Microsoft.AspNet.Mvc.Core/ActionResults/ViewResult.cs b/src/Microsoft.AspNet.Mvc.Core/ActionResults/ViewResult.cs
index 4513b39299..7964955aa1 100644
--- a/src/Microsoft.AspNet.Mvc.Core/ActionResults/ViewResult.cs
+++ b/src/Microsoft.AspNet.Mvc.Core/ActionResults/ViewResult.cs
@@ -6,7 +6,6 @@ using System.Collections.Generic;
using System.IO;
using System.Threading.Tasks;
using Microsoft.AspNet.Mvc.Core;
-using Microsoft.AspNet.Mvc.Internal;
using Microsoft.AspNet.Mvc.Rendering;
using Microsoft.Framework.DependencyInjection;
@@ -33,7 +32,7 @@ namespace Microsoft.AspNet.Mvc
{
context.HttpContext.Response.ContentType = "text/html; charset=utf-8";
var wrappedStream = new StreamWrapper(context.HttpContext.Response.Body);
- var encoding = UTF8EncodingWithoutBOM.Encoding;
+ var encoding = Encodings.UTF8EncodingWithoutBOM;
using (var writer = new StreamWriter(wrappedStream, encoding, BufferSize, leaveOpen: true))
{
try
diff --git a/src/Microsoft.AspNet.Mvc.Core/Microsoft.AspNet.Mvc.Core.kproj b/src/Microsoft.AspNet.Mvc.Core/Microsoft.AspNet.Mvc.Core.kproj
index 2c2fa4185b..93132102fa 100644
--- a/src/Microsoft.AspNet.Mvc.Core/Microsoft.AspNet.Mvc.Core.kproj
+++ b/src/Microsoft.AspNet.Mvc.Core/Microsoft.AspNet.Mvc.Core.kproj
@@ -139,7 +139,6 @@
-
diff --git a/test/Microsoft.AspNet.Mvc.Core.Test/ActionResults/ObjectContentResultTests.cs b/test/Microsoft.AspNet.Mvc.Core.Test/ActionResults/ObjectContentResultTests.cs
index 9c1f94d589..cd48ac9ae6 100644
--- a/test/Microsoft.AspNet.Mvc.Core.Test/ActionResults/ObjectContentResultTests.cs
+++ b/test/Microsoft.AspNet.Mvc.Core.Test/ActionResults/ObjectContentResultTests.cs
@@ -6,7 +6,6 @@ using System.IO;
using System.Threading;
using System.Threading.Tasks;
using Microsoft.AspNet.Http;
-using Microsoft.AspNet.Mvc.Internal;
using Microsoft.AspNet.Routing;
using Moq;
using Xunit;
@@ -64,7 +63,7 @@ namespace Microsoft.AspNet.Mvc.Core.Test.ActionResults
var actionContext = CreateMockActionContext(httpResponse);
var tempStream = new MemoryStream();
- using (var writer = new StreamWriter(tempStream, UTF8EncodingWithoutBOM.Encoding, 1024, leaveOpen: true))
+ using (var writer = new StreamWriter(tempStream, Encodings.UTF8EncodingWithoutBOM, 1024, leaveOpen: true))
{
var formatter = new JsonOutputFormatter(JsonOutputFormatter.CreateDefaultSettings(), false);
formatter.WriteObject(writer, nonStringValue);