| File: System\Xml\XmlUrlResolver.cs | Web Access |
| Project: src\runtime\src\libraries\System.Private.Xml\src\System.Private.Xml.csproj (System.Private.Xml) |
// Licensed to the .NET Foundation under one or more agreements. // The .NET Foundation licenses this file to you under the MIT license. using System.IO; using System.Net; using System.Net.Cache; using System.Runtime.Versioning; using System.Threading; using System.Threading.Tasks; namespace System.Xml { // Resolves external XML resources named by a Uniform Resource Identifier (URI). public partial class XmlUrlResolver : XmlResolver { private ICredentials? _credentials; private IWebProxy? _proxy; public XmlUrlResolver() { } [UnsupportedOSPlatform("browser")] public override ICredentials? Credentials { set { _credentials = value; } } [UnsupportedOSPlatform("browser")] public IWebProxy? Proxy { set { _proxy = value; } } public RequestCachePolicy CachePolicy { set { } // nop, as caching isn't implemented } // Maps a URI to an Object containing the actual resource. public override object? GetEntity(Uri absoluteUri, string? role, Type? ofObjectToReturn) { if (ofObjectToReturn is null || ofObjectToReturn == typeof(Stream) || ofObjectToReturn == typeof(object)) { return XmlDownloadManager.GetStream(absoluteUri, _credentials, _proxy); } throw new XmlException(SR.Xml_UnsupportedClass, string.Empty); } // Maps a URI to an Object containing the actual resource. public override async Task<object> GetEntityAsync(Uri absoluteUri, string? role, Type? ofObjectToReturn) { if (ofObjectToReturn == null || ofObjectToReturn == typeof(Stream) || ofObjectToReturn == typeof(object)) { return await XmlDownloadManager.GetStreamAsync(absoluteUri, _credentials, _proxy).ConfigureAwait(false); } throw new XmlException(SR.Xml_UnsupportedClass, string.Empty); } public override Uri ResolveUri(Uri? baseUri, string? relativeUri) => base.ResolveUri(baseUri, relativeUri); } }