| Index: mojo/services/network/network_service_impl.cc
|
| diff --git a/mojo/services/network/network_service_impl.cc b/mojo/services/network/network_service_impl.cc
|
| index edf82e0de53ab50becded317844d2c64136fdc11..7c613f67e31657a1c7803445c27967afec2cf36f 100644
|
| --- a/mojo/services/network/network_service_impl.cc
|
| +++ b/mojo/services/network/network_service_impl.cc
|
| @@ -5,6 +5,7 @@
|
| #include "mojo/services/network/network_service_impl.h"
|
|
|
| #include "mojo/services/network/cookie_store_impl.h"
|
| +#include "mojo/services/network/http_server_impl.h"
|
| #include "mojo/services/network/net_adapters.h"
|
| #include "mojo/services/network/tcp_bound_socket_impl.h"
|
| #include "mojo/services/network/udp_socket_impl.h"
|
| @@ -75,8 +76,17 @@ void NetworkServiceImpl::CreateHttpServer(
|
| NetAddressPtr local_address,
|
| HttpServerDelegatePtr delegate,
|
| const CreateHttpServerCallback& callback) {
|
| - // TODO(yzshen): implement this.
|
| - callback.Run(MakeNetworkError(net::ERR_NOT_IMPLEMENTED), nullptr);
|
| + // Please see the comments of HttpServerImpl::Create() about the lifetime of
|
| + // the returned object.
|
| + HttpServerImpl* http_server = HttpServerImpl::Create(delegate.Pass());
|
| +
|
| + int net_error = http_server->Start(local_address.Pass());
|
| + if (net_error != net::OK) {
|
| + callback.Run(MakeNetworkError(net_error), nullptr);
|
| + delete http_server;
|
| + return;
|
| + }
|
| + callback.Run(MakeNetworkError(net::OK), http_server->GetLocalAddress());
|
| }
|
|
|
| } // namespace mojo
|
|
|