public NuGetHttpSourceAuthenticationHandler( PackageSource packageSource, IHttpCredentialsHandler credentialsHandler, ICredentialService credentialService) { if (packageSource == null) { throw new ArgumentNullException(nameof(packageSource)); } this.packageSource = packageSource; if (credentialsHandler == null) { throw new ArgumentNullException(nameof(credentialsHandler)); } this.credentialsHandler = credentialsHandler; // credential service is optional as credentials may be attached to a package source this.credentialService = credentialService; // Create a new wrapper for ICredentials that can be modified if (credentialService == null || !credentialService.HandlesDefaultCredentials) { // This is used to match the value of HttpClientHandler.UseDefaultCredentials = true credentials = new HttpSourceCredentials(CredentialCache.DefaultNetworkCredentials); } else { credentials = new HttpSourceCredentials(); } if (packageSource.Credentials != null && packageSource.Credentials.IsValid()) { var sourceCredentials = new NetworkCredential(packageSource.Credentials.Username, packageSource.Credentials.Password); credentials.Credentials = sourceCredentials; } this.credentialsHandler.Credentials = credentials; // Always take the credentials from the helper. this.credentialsHandler.UseDefaultCredentials = false; }
HttpSourceAuthenticationHandler( Uri source, IHttpCredentialsHandler credentialsHandler, HttpMessageHandler innerHandler, ICredentialService credentialService) : base(innerHandler) { this.source = source ?? throw new ArgumentNullException(nameof(source)); credentialsHandler = credentialsHandler ?? throw new ArgumentNullException(nameof(credentialsHandler)); this.credentialService = credentialService; // Create a new wrapper for ICredentials that can be modified // This is used to match the value of HttpClientHandler.UseDefaultCredentials = true credentials = new HttpSourceCredentials(CredentialCache.DefaultNetworkCredentials); credentialsHandler.Credentials = credentials; // Always take the credentials from the helper. credentialsHandler.UseDefaultCredentials = false; }
public HttpSourceAuthenticationHandler(Uri source, IHttpCredentialsHandler credentialsHandler, HttpMessageHandler innerHandler) : this(source, credentialsHandler, innerHandler, HttpClientProvider.CredentialService) { }