OLD | NEW |
1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 2014 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #include "components/data_reduction_proxy/core/browser/data_reduction_proxy_bypa
ss_protocol.h" | 5 #include "components/data_reduction_proxy/core/browser/data_reduction_proxy_bypa
ss_protocol.h" |
6 | 6 |
7 #include <stddef.h> | 7 #include <stddef.h> |
8 | 8 |
9 #include <memory> | 9 #include <memory> |
10 #include <utility> | 10 #include <utility> |
(...skipping 51 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
62 using net::TestURLRequestContext; | 62 using net::TestURLRequestContext; |
63 using net::URLRequest; | 63 using net::URLRequest; |
64 | 64 |
65 namespace data_reduction_proxy { | 65 namespace data_reduction_proxy { |
66 | 66 |
67 class SimpleURLRequestInterceptor : public net::URLRequestInterceptor { | 67 class SimpleURLRequestInterceptor : public net::URLRequestInterceptor { |
68 public: | 68 public: |
69 net::URLRequestJob* MaybeInterceptRequest( | 69 net::URLRequestJob* MaybeInterceptRequest( |
70 net::URLRequest* request, | 70 net::URLRequest* request, |
71 net::NetworkDelegate* network_delegate) const override { | 71 net::NetworkDelegate* network_delegate) const override { |
72 return net::URLRequestHttpJob::Factory(request, network_delegate, "http"); | 72 return new net::URLRequestHttpJob( |
| 73 request, network_delegate, |
| 74 request->context()->http_user_agent_settings()); |
73 } | 75 } |
74 }; | 76 }; |
75 | 77 |
76 // Constructs a |TestURLRequestContext| that uses a |MockSocketFactory| to | 78 // Constructs a |TestURLRequestContext| that uses a |MockSocketFactory| to |
77 // simulate requests and responses. | 79 // simulate requests and responses. |
78 class DataReductionProxyProtocolTest : public testing::Test { | 80 class DataReductionProxyProtocolTest : public testing::Test { |
79 public: | 81 public: |
80 DataReductionProxyProtocolTest() : http_user_agent_settings_("", "") { | 82 DataReductionProxyProtocolTest() : http_user_agent_settings_("", "") { |
81 simple_interceptor_.reset(new SimpleURLRequestInterceptor()); | 83 simple_interceptor_.reset(new SimpleURLRequestInterceptor()); |
82 net::URLRequestFilter::GetInstance()->AddHostnameInterceptor( | 84 net::URLRequestFilter::GetInstance()->AddHostnameInterceptor( |
(...skipping 28 matching lines...) Expand all Loading... |
111 // to requests. | 113 // to requests. |
112 context_->set_http_user_agent_settings(&http_user_agent_settings_); | 114 context_->set_http_user_agent_settings(&http_user_agent_settings_); |
113 bypass_stats_.reset(new DataReductionProxyBypassStats( | 115 bypass_stats_.reset(new DataReductionProxyBypassStats( |
114 test_context_->config(), | 116 test_context_->config(), |
115 test_context_->unreachable_callback())); | 117 test_context_->unreachable_callback())); |
116 | 118 |
117 DataReductionProxyInterceptor* interceptor = | 119 DataReductionProxyInterceptor* interceptor = |
118 new DataReductionProxyInterceptor( | 120 new DataReductionProxyInterceptor( |
119 test_context_->config(), test_context_->io_data()->config_client(), | 121 test_context_->config(), test_context_->io_data()->config_client(), |
120 bypass_stats_.get(), test_context_->event_creator()); | 122 bypass_stats_.get(), test_context_->event_creator()); |
121 std::unique_ptr<net::URLRequestJobFactoryImpl> job_factory_impl( | 123 std::unique_ptr<net::URLRequestJobFactoryImpl> job_factory_impl = |
122 new net::URLRequestJobFactoryImpl()); | 124 net::URLRequestJobFactoryImpl::CreateWithHttpProtocolHandlers(); |
123 job_factory_.reset(new net::URLRequestInterceptingJobFactory( | 125 job_factory_.reset(new net::URLRequestInterceptingJobFactory( |
124 std::move(job_factory_impl), base::WrapUnique(interceptor))); | 126 std::move(job_factory_impl), base::WrapUnique(interceptor))); |
125 | 127 |
126 context_->set_job_factory(job_factory_.get()); | 128 context_->set_job_factory(job_factory_.get()); |
127 context_->Init(); | 129 context_->Init(); |
128 } | 130 } |
129 | 131 |
130 // Simulates a request to a data reduction proxy that may result in bypassing | 132 // Simulates a request to a data reduction proxy that may result in bypassing |
131 // the proxy and retrying the the request. | 133 // the proxy and retrying the the request. |
132 // Runs a test with the given request |method| that expects the first response | 134 // Runs a test with the given request |method| that expects the first response |
(...skipping 847 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
980 | 982 |
981 EXPECT_EQ(net::OK, d.request_status()); | 983 EXPECT_EQ(net::OK, d.request_status()); |
982 | 984 |
983 EXPECT_EQ("Bypass message", d.data_received()); | 985 EXPECT_EQ("Bypass message", d.data_received()); |
984 | 986 |
985 // We should have no entries in our bad proxy list. | 987 // We should have no entries in our bad proxy list. |
986 TestBadProxies(0, -1, "", ""); | 988 TestBadProxies(0, -1, "", ""); |
987 } | 989 } |
988 | 990 |
989 } // namespace data_reduction_proxy | 991 } // namespace data_reduction_proxy |
OLD | NEW |