From 720923a1a4a9e86a22b8ece72a71c4b5860bbe3a Mon Sep 17 00:00:00 2001 From: sornaks Date: Wed, 9 Jul 2014 17:43:47 -0700 Subject: [PATCH] Moving UTF8EncodingWithoutBOM.cs to Common and renaming it as Encodings. --- .../Encodings.cs} | 11 +++++++---- .../Microsoft.AspNet.Mvc.Common.kproj | 1 + src/Microsoft.AspNet.Mvc.Common/project.json | 6 +++++- .../ActionResults/JsonResult.cs | 3 +-- .../ActionResults/ViewResult.cs | 3 +-- .../Microsoft.AspNet.Mvc.Core.kproj | 1 - .../ActionResults/ObjectContentResultTests.cs | 3 +-- 7 files changed, 16 insertions(+), 12 deletions(-) rename src/{Microsoft.AspNet.Mvc.Core/Internal/UTF8EncodingWithoutBOM.cs => Microsoft.AspNet.Mvc.Common/Encodings.cs} (50%) 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);