AngleSharp by AngleSharp

<PackageReference Include="AngleSharp" Version="0.9.6" />

.NET API 1,261,568 bytes

 ConfigurationExtensions

Represents a helper to construct objects with externally defined classes and libraries.
using AngleSharp.Dom; using AngleSharp.Network; using AngleSharp.Services; using AngleSharp.Services.Media; using AngleSharp.Services.Scripting; using AngleSharp.Services.Styling; using System.Collections.Generic; using System.Diagnostics; using System.Globalization; using System.Linq; using System.Text; namespace AngleSharp.Extensions { [DebuggerStepThrough] internal static class ConfigurationExtensions { public static Encoding DefaultEncoding(this IConfiguration configuration) { if (configuration == null) configuration = Configuration.Default; IEncodingService service = configuration.GetService<IEncodingService>(); string language = configuration.GetLanguage(); if (service == null) return Encoding.UTF8; return service.Suggest(language); } public static CultureInfo GetCulture(this IConfiguration options) { return options.Culture ?? CultureInfo.CurrentUICulture; } public static CultureInfo GetCultureFromLanguage(this IConfiguration options, string language) { try { return new CultureInfo(language); } catch (CultureNotFoundException) { return options.GetCulture(); } } public static string GetLanguage(this IConfiguration options) { return options.GetCulture().Name; } public static TService GetService<TService>(this IConfiguration configuration) { return configuration.GetServices<TService>().FirstOrDefault(); } public static IEnumerable<TService> GetServices<TService>(this IConfiguration configuration) { return configuration.Services.OfType<TService>(); } public static IResourceService<TResource> GetResourceService<TResource>(this IConfiguration configuration, string type) where TResource : IResourceInfo { IEnumerable<IResourceService<TResource>> services = configuration.GetServices<IResourceService<TResource>>(); foreach (IResourceService<TResource> item in services) { if (item.SupportsType(type)) return item; } return null; } public static string GetCookie(this IConfiguration options, string origin) { ICookieService service = options.GetService<ICookieService>(); if (service != null) return service[origin]; return string.Empty; } public static void SetCookie(this IConfiguration options, string origin, string value) { ICookieService service = options.GetService<ICookieService>(); if (service != null) service[origin] = value; } public static ISpellCheckService GetSpellCheck(this IConfiguration options, string language) { ISpellCheckService result = null; CultureInfo cultureFromLanguage = options.GetCultureFromLanguage(language); foreach (ISpellCheckService service in options.GetServices<ISpellCheckService>()) { if (service.Culture.Equals(cultureFromLanguage)) return service; if (service.Culture.TwoLetterISOLanguageName.Is(cultureFromLanguage.TwoLetterISOLanguageName)) result = service; } return result; } public static ICssStyleEngine GetCssStyleEngine(this IConfiguration configuration) { return configuration.GetStyleEngine(MimeTypeNames.Css) as ICssStyleEngine; } public static IStyleEngine GetStyleEngine(this IConfiguration configuration, string type) { return configuration.GetService<IStylingService>()?.GetEngine(type); } public static bool IsScripting(this IConfiguration configuration) { if (configuration != null) return configuration.GetService<IScriptingService>() != null; return false; } public static IScriptEngine GetScriptEngine(this IConfiguration configuration, string type) { return configuration.GetService<IScriptingService>()?.GetEngine(type); } public static IBrowsingContext NewContext(this IConfiguration options, Sandboxes security = Sandboxes.None) { IContextService service = options.GetService<IContextService>(); if (service == null) return new BrowsingContext(options, security); return service.Create(options, security); } public static IBrowsingContext FindContext(this IConfiguration options, string name) { return options.GetService<IContextService>()?.Find(name); } public static ICommandService GetCommand(this IConfiguration options, string commandId) { foreach (ICommandService service in options.GetServices<ICommandService>()) { if (commandId.Isi(service.CommandId)) return service; } return null; } } }