OLD | NEW |
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/test_server.h" | 5 #include "net/test/test_server.h" |
6 | 6 |
7 #include <algorithm> | 7 #include <algorithm> |
8 #include <string> | 8 #include <string> |
9 #include <vector> | 9 #include <vector> |
10 | 10 |
(...skipping 67 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
78 default: | 78 default: |
79 NOTREACHED(); | 79 NOTREACHED(); |
80 } | 80 } |
81 return FilePath(); | 81 return FilePath(); |
82 } | 82 } |
83 | 83 |
84 TestServer::TestServer(Type type, const FilePath& document_root) | 84 TestServer::TestServer(Type type, const FilePath& document_root) |
85 : type_(type), | 85 : type_(type), |
86 started_(false), | 86 started_(false), |
87 log_to_console_(false) { | 87 log_to_console_(false) { |
88 Init(document_root); | 88 Init("127.0.0.1", document_root); |
| 89 } |
| 90 |
| 91 TestServer::TestServer(Type type, |
| 92 const std::string& host, |
| 93 const FilePath& document_root) |
| 94 : type_(type), |
| 95 started_(false), |
| 96 log_to_console_(false) { |
| 97 Init(host, document_root); |
89 } | 98 } |
90 | 99 |
91 TestServer::TestServer(const HTTPSOptions& https_options, | 100 TestServer::TestServer(const HTTPSOptions& https_options, |
92 const FilePath& document_root) | 101 const FilePath& document_root) |
93 : https_options_(https_options), | 102 : https_options_(https_options), |
94 type_(TYPE_HTTPS), | 103 type_(TYPE_HTTPS), |
95 started_(false), | 104 started_(false), |
96 log_to_console_(false) { | 105 log_to_console_(false) { |
97 Init(document_root); | 106 Init(GetHostname(TYPE_HTTPS, https_options), document_root); |
98 } | 107 } |
99 | 108 |
100 TestServer::~TestServer() { | 109 TestServer::~TestServer() { |
101 TestRootCerts* root_certs = TestRootCerts::GetInstance(); | 110 TestRootCerts* root_certs = TestRootCerts::GetInstance(); |
102 root_certs->Clear(); | 111 root_certs->Clear(); |
103 Stop(); | 112 Stop(); |
104 } | 113 } |
105 | 114 |
106 bool TestServer::Start() { | 115 bool TestServer::Start() { |
107 if (type_ == TYPE_HTTPS) { | 116 if (type_ == TYPE_HTTPS) { |
(...skipping 150 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
258 new_file_path += "replace_text="; | 267 new_file_path += "replace_text="; |
259 new_file_path += base64_old; | 268 new_file_path += base64_old; |
260 new_file_path += ":"; | 269 new_file_path += ":"; |
261 new_file_path += base64_new; | 270 new_file_path += base64_new; |
262 } | 271 } |
263 | 272 |
264 *replacement_path = new_file_path; | 273 *replacement_path = new_file_path; |
265 return true; | 274 return true; |
266 } | 275 } |
267 | 276 |
268 void TestServer::Init(const FilePath& document_root) { | 277 void TestServer::Init(const std::string& host, const FilePath& document_root) { |
269 // At this point, the port that the testserver will listen on is unknown. | 278 // At this point, the port that the testserver will listen on is unknown. |
270 // The testserver will listen on an ephemeral port, and write the port | 279 // The testserver will listen on an ephemeral port, and write the port |
271 // number out over a pipe that this TestServer object will read from. Once | 280 // number out over a pipe that this TestServer object will read from. Once |
272 // that is complete, the host_port_pair_ will contain the actual port. | 281 // that is complete, the host_port_pair_ will contain the actual port. |
273 host_port_pair_ = HostPortPair(GetHostname(type_, https_options_), 0); | 282 host_port_pair_ = HostPortPair(host, 0); |
274 process_handle_ = base::kNullProcessHandle; | 283 process_handle_ = base::kNullProcessHandle; |
275 | 284 |
276 FilePath src_dir; | 285 FilePath src_dir; |
277 PathService::Get(base::DIR_SOURCE_ROOT, &src_dir); | 286 PathService::Get(base::DIR_SOURCE_ROOT, &src_dir); |
278 | 287 |
279 document_root_ = src_dir.Append(document_root); | 288 document_root_ = src_dir.Append(document_root); |
280 | 289 |
281 certificates_dir_ = src_dir.Append(FILE_PATH_LITERAL("net")) | 290 certificates_dir_ = src_dir.Append(FILE_PATH_LITERAL("net")) |
282 .Append(FILE_PATH_LITERAL("data")) | 291 .Append(FILE_PATH_LITERAL("data")) |
283 .Append(FILE_PATH_LITERAL("ssl")) | 292 .Append(FILE_PATH_LITERAL("ssl")) |
(...skipping 69 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
353 FilePath TestServer::GetRootCertificatePath() const { | 362 FilePath TestServer::GetRootCertificatePath() const { |
354 return certificates_dir_.AppendASCII("root_ca_cert.crt"); | 363 return certificates_dir_.AppendASCII("root_ca_cert.crt"); |
355 } | 364 } |
356 | 365 |
357 bool TestServer::LoadTestRootCert() { | 366 bool TestServer::LoadTestRootCert() { |
358 TestRootCerts* root_certs = TestRootCerts::GetInstance(); | 367 TestRootCerts* root_certs = TestRootCerts::GetInstance(); |
359 return root_certs->AddFromFile(GetRootCertificatePath()); | 368 return root_certs->AddFromFile(GetRootCertificatePath()); |
360 } | 369 } |
361 | 370 |
362 bool TestServer::AddCommandLineArguments(CommandLine* command_line) const { | 371 bool TestServer::AddCommandLineArguments(CommandLine* command_line) const { |
| 372 command_line->AppendArg("--host=" + host_port_pair_.host()); |
363 command_line->AppendArg("--port=" + | 373 command_line->AppendArg("--port=" + |
364 base::IntToString(host_port_pair_.port())); | 374 base::IntToString(host_port_pair_.port())); |
365 command_line->AppendArgNative(FILE_PATH_LITERAL("--data-dir=") + | 375 command_line->AppendArgNative(FILE_PATH_LITERAL("--data-dir=") + |
366 document_root_.value()); | 376 document_root_.value()); |
367 | 377 |
368 if (VLOG_IS_ON(1) || log_to_console_) { | 378 if (VLOG_IS_ON(1) || log_to_console_) { |
369 command_line->AppendArg("--log-to-console"); | 379 command_line->AppendArg("--log-to-console"); |
370 } | 380 } |
371 | 381 |
372 if (type_ == TYPE_FTP) { | 382 if (type_ == TYPE_FTP) { |
(...skipping 43 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
416 command_line->AppendArg(kBulkCipherSwitch + "=3des"); | 426 command_line->AppendArg(kBulkCipherSwitch + "=3des"); |
417 | 427 |
418 if (https_options_.record_resume) | 428 if (https_options_.record_resume) |
419 command_line->AppendArg("--https-record-resume"); | 429 command_line->AppendArg("--https-record-resume"); |
420 } | 430 } |
421 | 431 |
422 return true; | 432 return true; |
423 } | 433 } |
424 | 434 |
425 } // namespace net | 435 } // namespace net |
OLD | NEW |