OLD | NEW |
1 // Copyright (c) 2014, the Dart project authors. Please see the AUTHORS file | 1 // Copyright (c) 2014, the Dart project authors. Please see the AUTHORS file |
2 // for details. All rights reserved. Use of this source code is governed by a | 2 // for details. All rights reserved. Use of this source code is governed by a |
3 // BSD-style license that can be found in the LICENSE file. | 3 // BSD-style license that can be found in the LICENSE file. |
4 | 4 |
5 import 'dart:async'; | 5 import 'dart:async'; |
6 import 'dart:io'; | 6 import 'dart:io'; |
7 | 7 |
8 import 'package:http/http.dart' as http; | 8 import 'package:http/http.dart' as http; |
9 import 'package:http_multi_server/http_multi_server.dart'; | 9 import 'package:http_multi_server/http_multi_server.dart'; |
10 import 'package:http_multi_server/src/utils.dart'; | 10 import 'package:http_multi_server/src/utils.dart'; |
11 import 'package:test/test.dart'; | 11 import 'package:test/test.dart'; |
12 | 12 |
13 void main() { | 13 void main() { |
14 group("with multiple HttpServers", () { | 14 group("with multiple HttpServers", () { |
15 var multiServer; | 15 var multiServer; |
16 var subServer1; | 16 var subServer1; |
17 var subServer2; | 17 var subServer2; |
18 var subServer3; | 18 var subServer3; |
19 setUp(() { | 19 setUp(() { |
20 return Future.wait([ | 20 return Future.wait([ |
21 HttpServer.bind("127.0.0.1", 0).then((server) => subServer1 = server), | 21 HttpServer.bind("localhost", 0).then((server) => subServer1 = server), |
22 HttpServer.bind("127.0.0.1", 0).then((server) => subServer2 = server), | 22 HttpServer.bind("localhost", 0).then((server) => subServer2 = server), |
23 HttpServer.bind("127.0.0.1", 0).then((server) => subServer3 = server) | 23 HttpServer.bind("localhost", 0).then((server) => subServer3 = server) |
24 ]).then((servers) => multiServer = new HttpMultiServer(servers)); | 24 ]).then((servers) => multiServer = new HttpMultiServer(servers)); |
25 }); | 25 }); |
26 | 26 |
27 tearDown(() => multiServer.close()); | 27 tearDown(() => multiServer.close()); |
28 | 28 |
29 test("listen listens to all servers", () { | 29 test("listen listens to all servers", () { |
30 multiServer.listen((request) { | 30 multiServer.listen((request) { |
31 request.response.write("got request"); | 31 request.response.write("got request"); |
32 request.response.close(); | 32 request.response.close(); |
33 }); | 33 }); |
(...skipping 110 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
144 server.listen((request) { | 144 server.listen((request) { |
145 request.response.write("got request"); | 145 request.response.write("got request"); |
146 request.response.close(); | 146 request.response.close(); |
147 }); | 147 }); |
148 | 148 |
149 if (await supportsIPv4) { | 149 if (await supportsIPv4) { |
150 expect(http.read("http://127.0.0.1:${server.port}/"), | 150 expect(http.read("http://127.0.0.1:${server.port}/"), |
151 completion(equals("got request"))); | 151 completion(equals("got request"))); |
152 } | 152 } |
153 | 153 |
154 if (await supportsIPv4) { | 154 if (await supportsIPv6) { |
155 expect(http.read("http://[::1]:${server.port}/"), | 155 expect(http.read("http://[::1]:${server.port}/"), |
156 completion(equals("got request"))); | 156 completion(equals("got request"))); |
157 } | 157 } |
158 }); | 158 }); |
159 }); | 159 }); |
160 } | 160 } |
161 | 161 |
162 /// Makes a GET request to the root of [server] and returns the response. | 162 /// Makes a GET request to the root of [server] and returns the response. |
163 Future<http.Response> _get(HttpServer server) => http.get(_urlFor(server)); | 163 Future<http.Response> _get(HttpServer server) => http.get(_urlFor(server)); |
164 | 164 |
165 /// Makes a GET request to the root of [server] and returns the response body. | 165 /// Makes a GET request to the root of [server] and returns the response body. |
166 Future<String> _read(HttpServer server) => http.read(_urlFor(server)); | 166 Future<String> _read(HttpServer server) => http.read(_urlFor(server)); |
167 | 167 |
168 /// Returns the URL for the root of [server]. | 168 /// Returns the URL for the root of [server]. |
169 String _urlFor(HttpServer server) => | 169 String _urlFor(HttpServer server) => |
170 "http://${server.address.host}:${server.port}/"; | 170 "http://${server.address.host}:${server.port}/"; |
OLD | NEW |