Index: chrome_frame/test/test_server.cc |
diff --git a/chrome_frame/test/test_server.cc b/chrome_frame/test/test_server.cc |
index 5eaf06f6e9f56616a2463aa5f4cf7711e05838d3..83946c68eb6c3d4bcc1861cf43e897a2c24d00b6 100644 |
--- a/chrome_frame/test/test_server.cc |
+++ b/chrome_frame/test/test_server.cc |
@@ -13,6 +13,7 @@ |
#include "base/string_util.h" |
#include "base/stringprintf.h" |
#include "base/utf_string_conversions.h" |
+#include "chrome_frame/test/chrome_frame_test_utils.h" |
#include "chrome_frame/test/test_server.h" |
#include "net/base/tcp_listen_socket.h" |
#include "net/base/winsock_init.h" |
@@ -136,11 +137,11 @@ bool RedirectResponse::GetCustomHeaders(std::string* headers) const { |
} |
SimpleWebServer::SimpleWebServer(int port) { |
- CHECK(MessageLoop::current()) << "SimpleWebServer requires a message loop"; |
- net::EnsureWinsockInit(); |
- AddResponse(&quit_); |
- server_ = net::TCPListenSocket::CreateAndListen("127.0.0.1", port, this); |
- DCHECK(server_.get() != NULL); |
+ Construct(chrome_frame_test::GetLocalIPv4Address(), port); |
+} |
+ |
+SimpleWebServer::SimpleWebServer(const std::string& address, int port) { |
+ Construct(address, port); |
} |
SimpleWebServer::~SimpleWebServer() { |
@@ -150,6 +151,16 @@ SimpleWebServer::~SimpleWebServer() { |
connections_.clear(); |
} |
+void SimpleWebServer::Construct(const std::string& address, int port) { |
+ CHECK(MessageLoop::current()) << "SimpleWebServer requires a message loop"; |
+ net::EnsureWinsockInit(); |
+ AddResponse(&quit_); |
+ host_ = address; |
+ server_ = net::TCPListenSocket::CreateAndListen(address, port, this); |
+ LOG_IF(DFATAL, !server_.get()) |
+ << "Failed to create listener socket at " << address << ":" << port; |
+} |
+ |
void SimpleWebServer::AddResponse(Response* response) { |
responses_.push_back(response); |
} |