aboutsummaryrefslogtreecommitdiffstats
path: root/components/net/resource_thread.rs
diff options
context:
space:
mode:
authorDaniel <ddefisher@gmail.com>2016-03-19 22:02:52 -0400
committerDaniel <ddefisher@gmail.com>2016-03-24 12:24:08 -0400
commitd49d3b01f23ded64e204c263fcfbe86ca9a8c916 (patch)
tree4927bdb7916b098b806dcb31aa20b84c86709f9e /components/net/resource_thread.rs
parentddc96dca82f0070c91220c884a76e611bbff0661 (diff)
downloadservo-d49d3b01f23ded64e204c263fcfbe86ca9a8c916.tar.gz
servo-d49d3b01f23ded64e204c263fcfbe86ca9a8c916.zip
add auth cache to resources + set auth header if url does not have creds
Diffstat (limited to 'components/net/resource_thread.rs')
-rw-r--r--components/net/resource_thread.rs8
1 files changed, 8 insertions, 0 deletions
diff --git a/components/net/resource_thread.rs b/components/net/resource_thread.rs
index 89e63e14f79..10530a40b2d 100644
--- a/components/net/resource_thread.rs
+++ b/components/net/resource_thread.rs
@@ -269,9 +269,15 @@ impl Drop for CancellationListener {
}
}
+pub struct AuthCacheEntry {
+ pub user_name: String,
+ pub password: String,
+}
+
pub struct ResourceManager {
user_agent: String,
cookie_storage: Arc<RwLock<CookieStorage>>,
+ auth_cache: Arc<RwLock<HashMap<Url, AuthCacheEntry>>>,
mime_classifier: Arc<MIMEClassifier>,
devtools_chan: Option<Sender<DevtoolsControlMsg>>,
hsts_list: Arc<RwLock<HSTSList>>,
@@ -287,6 +293,7 @@ impl ResourceManager {
ResourceManager {
user_agent: user_agent,
cookie_storage: Arc::new(RwLock::new(CookieStorage::new())),
+ auth_cache: Arc::new(RwLock::new(HashMap::new())),
mime_classifier: Arc::new(MIMEClassifier::new()),
devtools_chan: devtools_channel,
hsts_list: Arc::new(RwLock::new(hsts_list)),
@@ -341,6 +348,7 @@ impl ResourceManager {
http_loader::factory(self.user_agent.clone(),
self.hsts_list.clone(),
self.cookie_storage.clone(),
+ self.auth_cache.clone(),
self.devtools_chan.clone(),
self.connector.clone()),
"data" => from_factory(data_loader::factory),