@@ -7,6 +7,7 @@ use reqwest::{Request, Response};
77use reqwest_middleware:: { Error , Middleware , Next } ;
88use tracing:: { debug, trace, warn} ;
99
10+ use crate :: providers:: HuggingFaceProvider ;
1011use crate :: {
1112 CREDENTIALS_CACHE , CredentialsCache , KeyringProvider ,
1213 cache:: FetchUrl ,
@@ -457,9 +458,8 @@ impl AuthMiddleware {
457458 Some ( credentials)
458459 } ;
459460
460- return self
461- . complete_request ( credentials, request, extensions, next, auth_policy)
462- . await ;
461+ self . complete_request ( credentials, request, extensions, next, auth_policy)
462+ . await
463463 }
464464
465465 /// Fetch credentials for a URL.
@@ -503,6 +503,13 @@ impl AuthMiddleware {
503503 return credentials;
504504 }
505505
506+ // Support for known providers, like Hugging Face.
507+ if let Some ( credentials) = HuggingFaceProvider :: credentials_for ( url) . map ( Arc :: new) {
508+ debug ! ( "Found Hugging Face credentials for {url}" ) ;
509+ self . cache ( ) . fetches . done ( key, Some ( credentials. clone ( ) ) ) ;
510+ return Some ( credentials) ;
511+ }
512+
506513 // Netrc support based on: <https://github.com/gribouille/netrc>.
507514 let credentials = if let Some ( credentials) = self . netrc . get ( ) . and_then ( |netrc| {
508515 debug ! ( "Checking netrc for credentials for {url}" ) ;
0 commit comments