// Copyright 2011 The Chromium Authors // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. #ifndef NET_HTTP_HTTP_AUTH_CACHE_H_ #define NET_HTTP_HTTP_AUTH_CACHE_H_ #include <stddef.h> #include <list> #include <map> #include <string> #include "base/functional/callback.h" #include "base/gtest_prod_util.h" #include "base/memory/raw_ptr.h" #include "base/time/default_clock.h" #include "base/time/default_tick_clock.h" #include "base/time/time.h" #include "net/base/net_export.h" #include "net/base/network_anonymization_key.h" #include "net/http/http_auth.h" #include "url/scheme_host_port.h" namespace net { // HttpAuthCache stores HTTP authentication identities and challenge info. // For each (scheme_host_port, realm, scheme) triple the cache stores a // HttpAuthCache::Entry, which holds: // - the origin server {protocol scheme, host, port} // - the last identity used (username/password) // - the last auth handler used (contains realm and authentication scheme) // - the list of paths which used this realm // Entries can be looked up by either (origin, realm, scheme) or (origin, path). class NET_EXPORT HttpAuthCache { … }; // An authentication realm entry. } // namespace net #endif // NET_HTTP_HTTP_AUTH_CACHE_H_