From c551ec24909f2b6b9102d25cd314b97bacc97143 Mon Sep 17 00:00:00 2001 From: Levi B Date: Thu, 19 Feb 2015 14:14:04 -0800 Subject: [PATCH] Add encoder extension methods --- .../Encoders/EncoderExtensions.cs | 51 +++++++++++++++++++ 1 file changed, 51 insertions(+) create mode 100644 src/Microsoft.AspNet.Http.Extensions/Encoders/EncoderExtensions.cs diff --git a/src/Microsoft.AspNet.Http.Extensions/Encoders/EncoderExtensions.cs b/src/Microsoft.AspNet.Http.Extensions/Encoders/EncoderExtensions.cs new file mode 100644 index 0000000000..65dbc541aa --- /dev/null +++ b/src/Microsoft.AspNet.Http.Extensions/Encoders/EncoderExtensions.cs @@ -0,0 +1,51 @@ +// Copyright (c) Microsoft Open Technologies, Inc. All rights reserved. +// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. + +using System; +using Microsoft.AspNet.Http; +using Microsoft.Framework.DependencyInjection; + +namespace Microsoft.AspNet.WebUtilities.Encoders +{ + /// + /// Contains extension methods for fetching encoders from a service provider. + /// + public static class EncoderExtensions + { + /// + /// Retrieves an IHtmlEncoder from a service provider. + /// + /// + /// This method is guaranteed never to return null. + /// It will return a default encoder instance if the service provider does not contain one. + /// + public static IHtmlEncoder GetHtmlEncoder([NotNull] this IServiceProvider serviceProvider) + { + return serviceProvider.GetService() ?? HtmlEncoder.Default; + } + + /// + /// Retrieves an IJavaScriptStringEncoder from a service provider. + /// + /// + /// This method is guaranteed never to return null. + /// It will return a default encoder instance if the service provider does not contain one. + /// + public static IJavaScriptStringEncoder GetJavaScriptStringEncoder([NotNull] this IServiceProvider serviceProvider) + { + return serviceProvider.GetService() ?? JavaScriptStringEncoder.Default; + } + + /// + /// Retrieves an IUrlEncoder from a service provider. + /// + /// + /// This method is guaranteed never to return null. + /// It will return a default encoder instance if the service provider does not contain one. + /// + public static IUrlEncoder GetUrlEncoder([NotNull] this IServiceProvider serviceProvider) + { + return serviceProvider.GetService() ?? UrlEncoder.Default; + } + } +}