using Org.BouncyCastle.Asn1.Ocsp; using Sarand.Net.Standard.Base.Core; using Sarand.Net.Standard.Base.Utils; using System; using System.Collections.Generic; using System.Net; using System.Text; namespace Sarand.Net.Standard.Base.Net { public static class WebUtil { //------------------------------------------------------------------- // H T M L E n c o d i n g //------------------------------------------------------------------- /// Converts a string to an HTML-encoded string. public static String HtmlEncode(this String value) { if (StringUtil.IsEmpty(value)) return value; return WebUtility.HtmlEncode(value); } /// Converts a string that has been HTML-encoded for HTTP transmission into a decoded string. public static String HtmlDecode(this String value) { if (StringUtil.IsEmpty(value)) return value; return WebUtility.HtmlDecode(value); } //------------------------------------------------------------------- // U R L E n c o d i n g //------------------------------------------------------------------- /// Converts a string to an HTML-encoded string. public static String UrlEncode(this String value) { if (StringUtil.IsEmpty(value)) return value; return WebUtility.UrlEncode(value); } /// Converts a string that has been HTML-encoded for HTTP transmission into a decoded string. public static String UrlDecode(this String value) { if (StringUtil.IsEmpty(value)) return value; return WebUtility.UrlDecode(value); } //------------------------------------------------------------------- // URI Builder. /// /// Configure HTTP URI builder. /// public static UriBuilder ConfigureUriBuilder(this UriBuilder uriBuilder, String host, String path, String query = null) { uriBuilder.Scheme = "http"; uriBuilder.Host = StringUtil.OnBlank(host); uriBuilder.Path = StringUtil.OnBlank(path); uriBuilder.Query = StringUtil.OnBlank(query); return uriBuilder; } /// /// Create HTTP URI builder. /// public static UriBuilder CreateUriBuilder(String host, String path, String query = null) { UriBuilder uriBuilder = new UriBuilder(); return uriBuilder.ConfigureUriBuilder(host, path, query); } /// /// Configure HTTPS URI builder. /// public static UriBuilder ConfigureSslUriBuilder(this UriBuilder uriBuilder, String host, String path, String query = null) { uriBuilder.Scheme = "https"; uriBuilder.Port = 443; uriBuilder.Host = StringUtil.OnBlank(host); uriBuilder.Path = StringUtil.OnBlank(path); uriBuilder.Query = StringUtil.OnBlank(query); return uriBuilder; } /// /// Create HTTPS URI builder. /// public static UriBuilder CreateSslUriBuilder(String host, String path, String query = null) { UriBuilder uriBuilder = new UriBuilder(); return uriBuilder.ConfigureSslUriBuilder(host, path, query); } //------------------------------------------------------------------- } }