OLD | NEW |
1 // Copyright 2015 The Chromium Authors. All rights reserved. | 1 // Copyright 2015 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 "services/http_server/http_server_factory_impl.h" | 5 #include "services/http_server/http_server_factory_impl.h" |
6 | 6 |
7 #include "base/stl_util.h" | 7 #include "base/stl_util.h" |
8 #include "mojo/services/http_server/public/interfaces/http_server.mojom.h" | 8 #include "mojo/services/http_server/public/interfaces/http_server.mojom.h" |
9 #include "services/http_server/http_server_impl.h" | 9 #include "services/http_server/http_server_impl.h" |
10 | 10 |
(...skipping 31 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
42 | 42 |
43 delete server; | 43 delete server; |
44 port_any_servers_.erase(server); | 44 port_any_servers_.erase(server); |
45 } | 45 } |
46 } | 46 } |
47 | 47 |
48 HttpServerFactoryImpl::ServerKey HttpServerFactoryImpl::GetServerKey( | 48 HttpServerFactoryImpl::ServerKey HttpServerFactoryImpl::GetServerKey( |
49 mojo::NetAddress* local_address) { | 49 mojo::NetAddress* local_address) { |
50 DCHECK(local_address); | 50 DCHECK(local_address); |
51 | 51 |
52 if (local_address->family == mojo::NET_ADDRESS_FAMILY_IPV6) { | 52 if (local_address->family == mojo::NetAddressFamily::IPV6) { |
53 return ServerKey(local_address->ipv6->addr, local_address->ipv6->port); | 53 return ServerKey(local_address->ipv6->addr, local_address->ipv6->port); |
54 } else if (local_address->family == mojo::NET_ADDRESS_FAMILY_IPV4) { | 54 } else if (local_address->family == mojo::NetAddressFamily::IPV4) { |
55 return ServerKey(local_address->ipv4->addr, local_address->ipv4->port); | 55 return ServerKey(local_address->ipv4->addr, local_address->ipv4->port); |
56 } else { | 56 } else { |
57 return ServerKey(); | 57 return ServerKey(); |
58 } | 58 } |
59 } | 59 } |
60 | 60 |
61 void HttpServerFactoryImpl::CreateHttpServer( | 61 void HttpServerFactoryImpl::CreateHttpServer( |
62 mojo::InterfaceRequest<HttpServer> server_request, | 62 mojo::InterfaceRequest<HttpServer> server_request, |
63 mojo::NetAddressPtr local_address) { | 63 mojo::NetAddressPtr local_address) { |
64 if (!local_address) { | 64 if (!local_address) { |
65 local_address = mojo::NetAddress::New(); | 65 local_address = mojo::NetAddress::New(); |
66 local_address->family = mojo::NET_ADDRESS_FAMILY_IPV4; | 66 local_address->family = mojo::NetAddressFamily::IPV4; |
67 local_address->ipv4 = mojo::NetAddressIPv4::New(); | 67 local_address->ipv4 = mojo::NetAddressIPv4::New(); |
68 local_address->ipv4->addr.resize(4); | 68 local_address->ipv4->addr.resize(4); |
69 local_address->ipv4->addr[0] = 0; | 69 local_address->ipv4->addr[0] = 0; |
70 local_address->ipv4->addr[1] = 0; | 70 local_address->ipv4->addr[1] = 0; |
71 local_address->ipv4->addr[2] = 0; | 71 local_address->ipv4->addr[2] = 0; |
72 local_address->ipv4->addr[3] = 0; | 72 local_address->ipv4->addr[3] = 0; |
73 local_address->ipv4->port = 0; | 73 local_address->ipv4->port = 0; |
74 } | 74 } |
75 ServerKey key = GetServerKey(local_address.get()); | 75 ServerKey key = GetServerKey(local_address.get()); |
76 | 76 |
77 if (key.second) { // If the port is non-zero. | 77 if (key.second) { // If the port is non-zero. |
78 if (!port_indicated_servers_.count(key)) { | 78 if (!port_indicated_servers_.count(key)) { |
79 port_indicated_servers_[key] = | 79 port_indicated_servers_[key] = |
80 new HttpServerImpl(app_, this, local_address.Pass()); | 80 new HttpServerImpl(app_, this, local_address.Pass()); |
81 } | 81 } |
82 port_indicated_servers_[key]->AddBinding(server_request.Pass()); | 82 port_indicated_servers_[key]->AddBinding(server_request.Pass()); |
83 } else { | 83 } else { |
84 HttpServerImpl* server = | 84 HttpServerImpl* server = |
85 new HttpServerImpl(app_, this, local_address.Pass()); | 85 new HttpServerImpl(app_, this, local_address.Pass()); |
86 server->AddBinding(server_request.Pass()); | 86 server->AddBinding(server_request.Pass()); |
87 port_any_servers_.insert(server); | 87 port_any_servers_.insert(server); |
88 } | 88 } |
89 } | 89 } |
90 | 90 |
91 } // namespace http_server | 91 } // namespace http_server |
OLD | NEW |