Index: net/tools/testserver/run_testserver.cc |
diff --git a/net/tools/testserver/run_testserver.cc b/net/tools/testserver/run_testserver.cc |
index c02d4d6e18290ee6ea016f4e8998fba16db6215e..27f7cc7b99325b0fe94e7b1e3b28f294a3b7e81c 100644 |
--- a/net/tools/testserver/run_testserver.cc |
+++ b/net/tools/testserver/run_testserver.cc |
@@ -18,8 +18,9 @@ |
#include "net/test/test_server.h" |
static void PrintUsage() { |
- printf("run_testserver --doc-root=relpath [--http|--https|--ftp|--sync]\n" |
- " [--https-cert=ok|mismatched-name|expired]\n" |
+ printf("run_testserver --doc-root=relpath\n" |
+ " [--http|--https|--ws|--wss|--ftp|--sync]\n" |
+ " [--ssl-cert=ok|mismatched-name|expired]\n" |
" [--port=<port>] [--xmpp-port=<xmpp_port>]\n"); |
printf("(NOTE: relpath should be relative to the 'src' directory.\n"); |
printf(" --port and --xmpp-port only work with the --sync flag.)\n"); |
@@ -101,21 +102,38 @@ int main(int argc, const char* argv[]) { |
return -1; |
} |
- net::TestServer::Type server_type(net::TestServer::TYPE_HTTP); |
- if (command_line->HasSwitch("https")) { |
+ net::TestServer::Type server_type; |
+ if (command_line->HasSwitch("http")) { |
+ server_type = net::TestServer::TYPE_HTTP; |
+ } else if (command_line->HasSwitch("https")) { |
server_type = net::TestServer::TYPE_HTTPS; |
+ } else if (command_line->HasSwitch("ws")) { |
+ server_type = net::TestServer::TYPE_WS; |
+ } else if (command_line->HasSwitch("wss")) { |
+ server_type = net::TestServer::TYPE_WSS; |
} else if (command_line->HasSwitch("ftp")) { |
server_type = net::TestServer::TYPE_FTP; |
} else if (command_line->HasSwitch("sync")) { |
server_type = net::TestServer::TYPE_SYNC; |
} else if (command_line->HasSwitch("sync-test")) { |
return RunSyncTest() ? 0 : -1; |
+ } else { |
+ // If no scheme switch is specified, select http or https scheme. |
Paweł Hajdan Jr.
2012/09/01 07:39:10
I don't like this implicit handling of flags. This
Takashi Toyoshima
2012/09/01 08:36:59
This behavior is originally implemented in Line 10
Paweł Hajdan Jr.
2012/09/04 09:28:01
Ah, right - the new version just makes it more obv
Takashi Toyoshima
2012/09/11 06:36:32
Done.
|
+ if (command_line->HasSwitch("ssl-cert")) |
+ server_type = net::TestServer::TYPE_HTTPS; |
+ else |
+ server_type = net::TestServer::TYPE_HTTP; |
} |
net::TestServer::SSLOptions ssl_options; |
- if (command_line->HasSwitch("https-cert")) { |
- server_type = net::TestServer::TYPE_HTTPS; |
- std::string cert_option = command_line->GetSwitchValueASCII("https-cert"); |
+ if (command_line->HasSwitch("ssl-cert")) { |
+ if (server_type == net::TestServer::TYPE_HTTP || |
+ server_type == net::TestServer::TYPE_WS) { |
+ printf("Error: --ssl-cert is specified on non-secure scheme\n"); |
+ PrintUsage(); |
+ return -1; |
+ } |
+ std::string cert_option = command_line->GetSwitchValueASCII("ssl-cert"); |
if (cert_option == "ok") { |
ssl_options.server_certificate = net::TestServer::SSLOptions::CERT_OK; |
} else if (cert_option == "mismatched-name") { |
@@ -125,7 +143,7 @@ int main(int argc, const char* argv[]) { |
ssl_options.server_certificate = |
net::TestServer::SSLOptions::CERT_EXPIRED; |
} else { |
- printf("Error: --https-cert has invalid value %s\n", cert_option.c_str()); |
+ printf("Error: --ssl-cert has invalid value %s\n", cert_option.c_str()); |
PrintUsage(); |
return -1; |
} |
@@ -140,7 +158,8 @@ int main(int argc, const char* argv[]) { |
scoped_ptr<net::TestServer> test_server; |
switch (server_type) { |
- case net::TestServer::TYPE_HTTPS: { |
+ case net::TestServer::TYPE_HTTPS: |
+ case net::TestServer::TYPE_WSS: { |
test_server.reset(new net::TestServer(server_type, |
ssl_options, |
doc_root)); |