Index: components/safe_browsing_db/v4_get_hash_protocol_manager.h |
diff --git a/components/safe_browsing_db/v4_get_hash_protocol_manager.h b/components/safe_browsing_db/v4_get_hash_protocol_manager.h |
index 7e4c92f2e1df481f6e56b908e096a895537e5baa..f0bfc7410c0ad5d91c6d89882e944b40cee06441 100644 |
--- a/components/safe_browsing_db/v4_get_hash_protocol_manager.h |
+++ b/components/safe_browsing_db/v4_get_hash_protocol_manager.h |
@@ -15,7 +15,6 @@ |
#include <string> |
#include <vector> |
-#include "base/containers/hash_tables.h" |
#include "base/gtest_prod_util.h" |
#include "base/macros.h" |
#include "base/memory/scoped_ptr.h" |
@@ -24,8 +23,8 @@ |
#include "base/timer/timer.h" |
#include "components/safe_browsing_db/safebrowsing.pb.h" |
#include "components/safe_browsing_db/util.h" |
+#include "components/safe_browsing_db/v4_protocol_manager_util.h" |
#include "net/url_request/url_fetcher_delegate.h" |
-#include "net/url_request/url_request_status.h" |
#include "url/gurl.h" |
namespace net { |
@@ -35,13 +34,6 @@ class URLRequestContextGetter; |
namespace safe_browsing { |
-// Config passed to the constructor of a V4GetHashProtocolManager. |
-struct V4GetHashProtocolConfig { |
- std::string client_name; |
- std::string version; |
- std::string key_param; |
-}; |
- |
class V4GetHashProtocolManagerFactory; |
class V4GetHashProtocolManager : public net::URLFetcherDelegate, |
@@ -67,7 +59,7 @@ class V4GetHashProtocolManager : public net::URLFetcherDelegate, |
// Create an instance of the safe browsing v4 protocol manager. |
static V4GetHashProtocolManager* Create( |
net::URLRequestContextGetter* request_context_getter, |
- const V4GetHashProtocolConfig& config); |
+ const V4ProtocolConfig& config); |
// net::URLFetcherDelegate interface. |
void OnURLFetchComplete(const net::URLFetcher* source) override; |
@@ -116,25 +108,15 @@ class V4GetHashProtocolManager : public net::URLFetcherDelegate, |
// Record a GetHash result. |
static void RecordGetHashResult(ResultType result_type); |
- // Record HTTP response code when there's no error in fetching an HTTP |
- // request, and the error code, when there is. |
- // |metric_name| is the name of the UMA metric to record the response code or |
- // error code against, |status| represents the status of the HTTP request, and |
- // |response code| represents the HTTP response code received from the server. |
- static void RecordHttpResponseOrErrorCode(const char* metric_name, |
- const net::URLRequestStatus& status, |
- int response_code); |
- |
protected: |
// Constructs a V4GetHashProtocolManager that issues |
// network requests using |request_context_getter|. |
- V4GetHashProtocolManager(net::URLRequestContextGetter* request_context_getter, |
- const V4GetHashProtocolConfig& config); |
+ V4GetHashProtocolManager( |
+ net::URLRequestContextGetter* request_context_getter, |
+ const V4ProtocolConfig& config); |
private: |
FRIEND_TEST_ALL_PREFIXES(SafeBrowsingV4GetHashProtocolManagerTest, |
- TestGetHashUrl); |
- FRIEND_TEST_ALL_PREFIXES(SafeBrowsingV4GetHashProtocolManagerTest, |
TestGetHashRequest); |
FRIEND_TEST_ALL_PREFIXES(SafeBrowsingV4GetHashProtocolManagerTest, |
TestParseHashResponse); |
@@ -147,8 +129,6 @@ class V4GetHashProtocolManager : public net::URLFetcherDelegate, |
FRIEND_TEST_ALL_PREFIXES(SafeBrowsingV4GetHashProtocolManagerTest, |
TestParseHashResponseInconsistentThreatTypes); |
FRIEND_TEST_ALL_PREFIXES(SafeBrowsingV4GetHashProtocolManagerTest, |
- TestGetHashBackOffTimes); |
- FRIEND_TEST_ALL_PREFIXES(SafeBrowsingV4GetHashProtocolManagerTest, |
TestGetHashErrorHandlingOK); |
FRIEND_TEST_ALL_PREFIXES(SafeBrowsingV4GetHashProtocolManagerTest, |
TestGetHashErrorHandlingNetwork); |
@@ -156,9 +136,6 @@ class V4GetHashProtocolManager : public net::URLFetcherDelegate, |
TestGetHashErrorHandlingResponseCode); |
friend class V4GetHashProtocolManagerFactoryImpl; |
- // Generates GetHashWithApis Pver4 request URL for retrieving full hashes. |
- // |request_base64| is the serialized FindFullHashesRequest protocol buffer |
- // encoded in base 64. |
GURL GetHashUrl(const std::string& request_base64) const; |
// Fills a FindFullHashesRequest protocol buffer for a request. |
@@ -167,16 +144,6 @@ class V4GetHashProtocolManager : public net::URLFetcherDelegate, |
const std::vector<PlatformType>& platforms, |
ThreatType threat_type); |
- // Composes a URL using |prefix|, |method| (e.g.: encodedFullHashes). |
- // |request_base64|, |client_id|, |version| and |key_param|. |prefix| |
- // should contain the entire url prefix including scheme, host and path. |
- static std::string ComposePver4Url(const std::string& prefix, |
- const std::string& method, |
- const std::string& request_base64, |
- const std::string& client_id, |
- const std::string& version, |
- const std::string& key_param); |
- |
// Parses a FindFullHashesResponse protocol buffer and fills the results in |
// |full_hashes| and |negative_cache_duration|. |data| is a serialized |
// FindFullHashes protocol buffer. |negative_cache_duration| is the duration |
@@ -186,12 +153,6 @@ class V4GetHashProtocolManager : public net::URLFetcherDelegate, |
std::vector<SBFullHashResult>* full_hashes, |
base::TimeDelta* negative_cache_duration); |
- // Worker function for calculating the GetHash backoff times. |
- // |multiplier| is doubled for each consecutive error after the |
- // first, and |error_count| is incremented with each call. |
- static base::TimeDelta GetNextBackOffInterval(size_t* error_count, |
- size_t* multiplier); |
- |
// Resets the gethash error counter and multiplier. |
void ResetGetHashErrors(); |
@@ -226,14 +187,8 @@ class V4GetHashProtocolManager : public net::URLFetcherDelegate, |
// successful. |
base::Time next_gethash_time_; |
- // Current product version sent in each request. |
- std::string version_; |
- |
- // The safe browsing client name sent in each request. |
- std::string client_name_; |
- |
- // The Google API key. |
- std::string key_param_; |
+ // The config of the client making Pver4 requests. |
+ const V4ProtocolConfig config_; |
// The context we use to issue network requests. |
scoped_refptr<net::URLRequestContextGetter> request_context_getter_; |
@@ -251,7 +206,7 @@ class V4GetHashProtocolManagerFactory { |
virtual ~V4GetHashProtocolManagerFactory() {} |
virtual V4GetHashProtocolManager* CreateProtocolManager( |
net::URLRequestContextGetter* request_context_getter, |
- const V4GetHashProtocolConfig& config) = 0; |
+ const V4ProtocolConfig& config) = 0; |
private: |
DISALLOW_COPY_AND_ASSIGN(V4GetHashProtocolManagerFactory); |