diff options
author | bengr@chromium.org <bengr@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2014-06-26 08:12:27 +0000 |
---|---|---|
committer | bengr@chromium.org <bengr@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2014-06-26 08:12:27 +0000 |
commit | 597a1ab3ff262272a861c46cb98ce88902d12534 (patch) | |
tree | 0a4622f8bac771511ab7b2b553690722d65ef1d8 /net/http/http_network_transaction_unittest.cc | |
parent | 31c017222fa340a24202b3c94c5f290a8ccb3b16 (diff) | |
download | chromium_src-597a1ab3ff262272a861c46cb98ce88902d12534.zip chromium_src-597a1ab3ff262272a861c46cb98ce88902d12534.tar.gz chromium_src-597a1ab3ff262272a861c46cb98ce88902d12534.tar.bz2 |
Move data reduction proxy to Chrome-Proxy header for authentication
BUG=345907, 367268
Review URL: https://codereview.chromium.org/333113002
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@279957 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'net/http/http_network_transaction_unittest.cc')
-rw-r--r-- | net/http/http_network_transaction_unittest.cc | 36 |
1 files changed, 36 insertions, 0 deletions
diff --git a/net/http/http_network_transaction_unittest.cc b/net/http/http_network_transaction_unittest.cc index 01756a1..30cd255 100644 --- a/net/http/http_network_transaction_unittest.cc +++ b/net/http/http_network_transaction_unittest.cc @@ -433,6 +433,31 @@ class BeforeNetworkStartHandler { DISALLOW_COPY_AND_ASSIGN(BeforeNetworkStartHandler); }; +class BeforeProxyHeadersSentHandler { + public: + BeforeProxyHeadersSentHandler() + : observed_before_proxy_headers_sent_(false) {} + + void OnBeforeProxyHeadersSent(const ProxyInfo& proxy_info) { + observed_before_proxy_headers_sent_ = true; + observed_proxy_server_uri_ = proxy_info.proxy_server().ToURI(); + } + + bool observed_before_proxy_headers_sent() const { + return observed_before_proxy_headers_sent_; + } + + std::string observed_proxy_server_uri() const { + return observed_proxy_server_uri_; + } + + private: + bool observed_before_proxy_headers_sent_; + std::string observed_proxy_server_uri_; + + DISALLOW_COPY_AND_ASSIGN(BeforeProxyHeadersSentHandler); +}; + // Fill |str| with a long header list that consumes >= |size| bytes. void FillLargeHeadersString(std::string* str, int size) { const char* row = @@ -974,6 +999,10 @@ TEST_P(HttpNetworkTransactionTest, Head) { scoped_refptr<HttpNetworkSession> session(CreateSession(&session_deps_)); scoped_ptr<HttpTransaction> trans( new HttpNetworkTransaction(DEFAULT_PRIORITY, session)); + BeforeProxyHeadersSentHandler proxy_headers_handler; + trans->SetBeforeProxyHeadersSentCallback( + base::Bind(&BeforeProxyHeadersSentHandler::OnBeforeProxyHeadersSent, + base::Unretained(&proxy_headers_handler))); MockWrite data_writes1[] = { MockWrite("HEAD / HTTP/1.1\r\n" @@ -1010,6 +1039,7 @@ TEST_P(HttpNetworkTransactionTest, Head) { EXPECT_EQ(1234, response->headers->GetContentLength()); EXPECT_EQ("HTTP/1.1 404 Not Found", response->headers->GetStatusLine()); EXPECT_TRUE(response->proxy_server.IsEmpty()); + EXPECT_FALSE(proxy_headers_handler.observed_before_proxy_headers_sent()); std::string server_header; void* iter = NULL; @@ -10340,6 +10370,10 @@ TEST_P(HttpNetworkTransactionTest, ProxyGet) { scoped_ptr<HttpTransaction> trans( new HttpNetworkTransaction(DEFAULT_PRIORITY, session.get())); + BeforeProxyHeadersSentHandler proxy_headers_handler; + trans->SetBeforeProxyHeadersSentCallback( + base::Bind(&BeforeProxyHeadersSentHandler::OnBeforeProxyHeadersSent, + base::Unretained(&proxy_headers_handler))); int rv = trans->Start(&request, callback1.callback(), log.bound()); EXPECT_EQ(ERR_IO_PENDING, rv); @@ -10356,6 +10390,8 @@ TEST_P(HttpNetworkTransactionTest, ProxyGet) { EXPECT_TRUE(response->was_fetched_via_proxy); EXPECT_TRUE( response->proxy_server.Equals(HostPortPair::FromString("myproxy:70"))); + EXPECT_TRUE(proxy_headers_handler.observed_before_proxy_headers_sent()); + EXPECT_EQ("myproxy:70", proxy_headers_handler.observed_proxy_server_uri()); EXPECT_TRUE(HttpVersion(1, 1) == response->headers->GetHttpVersion()); LoadTimingInfo load_timing_info; |