Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(334)

Side by Side Diff: net/test/url_request/url_request_mock_http_job.cc

Issue 845973005: [New Tab Page] Change the mechanism to intercept online NTP errors (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: remove file Created 5 years, 11 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 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 "net/test/url_request/url_request_mock_http_job.h" 5 #include "net/test/url_request/url_request_mock_http_job.h"
6 6
7 #include "base/files/file_util.h" 7 #include "base/files/file_util.h"
8 #include "base/macros.h" 8 #include "base/macros.h"
9 #include "base/message_loop/message_loop.h" 9 #include "base/message_loop/message_loop.h"
10 #include "base/strings/string_number_conversions.h" 10 #include "base/strings/string_number_conversions.h"
(...skipping 81 matching lines...) Expand 10 before | Expand all | Expand 10 after
92 } 92 }
93 93
94 std::string raw_headers; 94 std::string raw_headers;
95 base::ReadFileToString(header_file, &raw_headers); 95 base::ReadFileToString(header_file, &raw_headers);
96 return raw_headers; 96 return raw_headers;
97 } 97 }
98 98
99 } // namespace 99 } // namespace
100 100
101 // static 101 // static
102 void URLRequestMockHTTPJob::AddUrlHandler( 102 void URLRequestMockHTTPJob::AddUrlHandlers(
103 const base::FilePath& base_path, 103 const base::FilePath& base_path,
104 const scoped_refptr<base::SequencedWorkerPool>& worker_pool) { 104 const scoped_refptr<base::SequencedWorkerPool>& worker_pool) {
105 // Add kMockHostname to net::URLRequestFilter. 105 // Add kMockHostname to net::URLRequestFilter, for both HTTP and HTTPS.
106 net::URLRequestFilter* filter = net::URLRequestFilter::GetInstance(); 106 net::URLRequestFilter* filter = net::URLRequestFilter::GetInstance();
107 filter->AddHostnameInterceptor( 107 filter->AddHostnameInterceptor(
108 "http", kMockHostname, CreateInterceptor(base_path, worker_pool)); 108 "http", kMockHostname, CreateInterceptor(base_path, worker_pool));
109 filter->AddHostnameInterceptor("https", kMockHostname,
110 CreateInterceptor(base_path, worker_pool));
109 } 111 }
110 112
111 // static 113 // static
112 void URLRequestMockHTTPJob::AddHostnameToFileHandler( 114 void URLRequestMockHTTPJob::AddHostnameToFileHandler(
113 const std::string& hostname, 115 const std::string& hostname,
114 const base::FilePath& file, 116 const base::FilePath& file,
115 const scoped_refptr<base::SequencedWorkerPool>& worker_pool) { 117 const scoped_refptr<base::SequencedWorkerPool>& worker_pool) {
116 net::URLRequestFilter* filter = net::URLRequestFilter::GetInstance(); 118 net::URLRequestFilter* filter = net::URLRequestFilter::GetInstance();
117 filter->AddHostnameInterceptor( 119 filter->AddHostnameInterceptor(
118 "http", hostname, CreateInterceptorForSingleFile(file, worker_pool)); 120 "http", hostname, CreateInterceptorForSingleFile(file, worker_pool));
119 } 121 }
120 122
121 // static 123 // static
122 GURL URLRequestMockHTTPJob::GetMockUrl(const base::FilePath& path) { 124 GURL URLRequestMockHTTPJob::GetMockUrl(const base::FilePath& path) {
123 std::string url = "http://"; 125 return GetMockUrlForScheme(path, "http");
124 url.append(kMockHostname);
125 url.append("/");
126 std::string path_str = path.MaybeAsASCII();
127 DCHECK(!path_str.empty()); // We only expect ASCII paths in tests.
128 url.append(path_str);
129 return GURL(url);
130 } 126 }
131 127
132 // static 128 // static
129 GURL URLRequestMockHTTPJob::GetMockHttpsUrl(const base::FilePath& path) {
130 return GetMockUrlForScheme(path, "https");
131 }
132
133 // static
133 GURL URLRequestMockHTTPJob::GetMockUrlWithFailure(const base::FilePath& path, 134 GURL URLRequestMockHTTPJob::GetMockUrlWithFailure(const base::FilePath& path,
134 FailurePhase phase, 135 FailurePhase phase,
135 int net_error) { 136 int net_error) {
136 COMPILE_ASSERT(arraysize(kFailurePhase) == MAX_FAILURE_PHASE, 137 COMPILE_ASSERT(arraysize(kFailurePhase) == MAX_FAILURE_PHASE,
137 kFailurePhase_must_match_FailurePhase_enum); 138 kFailurePhase_must_match_FailurePhase_enum);
138 DCHECK_GE(phase, START); 139 DCHECK_GE(phase, START);
139 DCHECK_LE(phase, READ_SYNC); 140 DCHECK_LE(phase, READ_SYNC);
140 std::string url(GetMockUrl(path).spec()); 141 std::string url(GetMockUrl(path).spec());
141 url.append("?"); 142 url.append("?");
142 url.append(kFailurePhase[phase]); 143 url.append(kFailurePhase[phase]);
(...skipping 25 matching lines...) Expand all
168 const base::FilePath& file_path, 169 const base::FilePath& file_path,
169 const scoped_refptr<base::TaskRunner>& task_runner) 170 const scoped_refptr<base::TaskRunner>& task_runner)
170 : net::URLRequestFileJob(request, network_delegate, file_path, task_runner), 171 : net::URLRequestFileJob(request, network_delegate, file_path, task_runner),
171 task_runner_(task_runner), 172 task_runner_(task_runner),
172 weak_ptr_factory_(this) { 173 weak_ptr_factory_(this) {
173 } 174 }
174 175
175 URLRequestMockHTTPJob::~URLRequestMockHTTPJob() { 176 URLRequestMockHTTPJob::~URLRequestMockHTTPJob() {
176 } 177 }
177 178
179 // static
180 GURL URLRequestMockHTTPJob::GetMockUrlForScheme(const base::FilePath& path,
mmenke 2015/01/15 22:35:30 nit: Instead of making this a static member of UR
Mathieu 2015/01/22 19:21:59 Done.
181 const std::string& scheme) {
182 std::string url = scheme + "://";
183 url.append(kMockHostname);
184 url.append("/");
185 std::string path_str = path.MaybeAsASCII();
186 DCHECK(!path_str.empty()); // We only expect ASCII paths in tests.
187 url.append(path_str);
188 return GURL(url);
189 }
190
178 // Public virtual version. 191 // Public virtual version.
179 void URLRequestMockHTTPJob::GetResponseInfo(net::HttpResponseInfo* info) { 192 void URLRequestMockHTTPJob::GetResponseInfo(net::HttpResponseInfo* info) {
180 // Forward to private const version. 193 // Forward to private const version.
181 GetResponseInfoConst(info); 194 GetResponseInfoConst(info);
182 } 195 }
183 196
184 bool URLRequestMockHTTPJob::IsRedirectResponse(GURL* location, 197 bool URLRequestMockHTTPJob::IsRedirectResponse(GURL* location,
185 int* http_status_code) { 198 int* http_status_code) {
186 // Override the net::URLRequestFileJob implementation to invoke the default 199 // Override the net::URLRequestFileJob implementation to invoke the default
187 // one based on HttpResponseInfo. 200 // one based on HttpResponseInfo.
(...skipping 89 matching lines...) Expand 10 before | Expand all | Expand 10 after
277 return net::URLRequestJob::GetResponseCode(); 290 return net::URLRequestJob::GetResponseCode();
278 } 291 }
279 292
280 bool URLRequestMockHTTPJob::GetCharset(std::string* charset) { 293 bool URLRequestMockHTTPJob::GetCharset(std::string* charset) {
281 net::HttpResponseInfo info; 294 net::HttpResponseInfo info;
282 GetResponseInfo(&info); 295 GetResponseInfo(&info);
283 return info.headers.get() && info.headers->GetCharset(charset); 296 return info.headers.get() && info.headers->GetCharset(charset);
284 } 297 }
285 298
286 } // namespace net 299 } // namespace net
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698