| OLD | NEW |
| 1 // Copyright (c) 2013, the Dart project authors. Please see the AUTHORS file | 1 // Copyright (c) 2013, 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 "package:expect/expect.dart"; | 5 import "package:expect/expect.dart"; |
| 6 import "dart:io"; | 6 import "dart:io"; |
| 7 | 7 |
| 8 void testHttpConnectionInfo() { | 8 void testHttpConnectionInfo() { |
| 9 HttpServer.bind("0.0.0.0", 0).then((server) { | 9 HttpServer.bind("0.0.0.0", 0).then((server) { |
| 10 int clientPort; | 10 int clientPort; |
| 11 | 11 |
| 12 server.listen((request) { | 12 server.listen((request) { |
| 13 var response = request.response; | 13 var response = request.response; |
| 14 Expect.isTrue(request.connectionInfo.remoteAddress is InternetAddress); | 14 Expect.isTrue(request.connectionInfo.remoteAddress is InternetAddress); |
| 15 Expect.isTrue(response.connectionInfo.remoteAddress is InternetAddress); | 15 Expect.isTrue(response.connectionInfo.remoteAddress is InternetAddress); |
| 16 Expect.equals(request.connectionInfo.localPort, server.port); | 16 Expect.equals(request.connectionInfo.localPort, server.port); |
| 17 Expect.equals(response.connectionInfo.localPort, server.port); | 17 Expect.equals(response.connectionInfo.localPort, server.port); |
| 18 Expect.isNotNull(clientPort); | 18 Expect.isNotNull(clientPort); |
| 19 Expect.equals(request.connectionInfo.remotePort, clientPort); | 19 Expect.equals(request.connectionInfo.remotePort, clientPort); |
| 20 Expect.equals(response.connectionInfo.remotePort, clientPort); | 20 Expect.equals(response.connectionInfo.remotePort, clientPort); |
| 21 request.listen( | 21 request.listen((_) {}, onDone: () { |
| 22 (_) { }, | 22 request.response.close(); |
| 23 onDone: () { request.response.close(); }); | 23 }); |
| 24 }); | 24 }); |
| 25 | 25 |
| 26 HttpClient client = new HttpClient(); | 26 HttpClient client = new HttpClient(); |
| 27 client.get("127.0.0.1", server.port, "/") | 27 client.get("127.0.0.1", server.port, "/").then((request) { |
| 28 .then((request) { | 28 Expect.isTrue(request.connectionInfo.remoteAddress is InternetAddress); |
| 29 Expect.isTrue( | 29 Expect.equals(request.connectionInfo.remotePort, server.port); |
| 30 request.connectionInfo.remoteAddress is InternetAddress); | 30 clientPort = request.connectionInfo.localPort; |
| 31 Expect.equals(request.connectionInfo.remotePort, server.port); | 31 return request.close(); |
| 32 clientPort = request.connectionInfo.localPort; | 32 }).then((response) { |
| 33 return request.close(); | 33 Expect.equals(server.port, response.connectionInfo.remotePort); |
| 34 }) | 34 Expect.equals(clientPort, response.connectionInfo.localPort); |
| 35 .then((response) { | 35 response.listen((_) {}, onDone: () { |
| 36 Expect.equals(server.port, response.connectionInfo.remotePort); | 36 client.close(); |
| 37 Expect.equals(clientPort, response.connectionInfo.localPort); | 37 server.close(); |
| 38 response.listen( | 38 }); |
| 39 (_) { }, | |
| 40 onDone: () { | |
| 41 client.close(); | |
| 42 server.close(); | |
| 43 }); | |
| 44 }); | |
| 45 }); | 39 }); |
| 40 }); |
| 46 } | 41 } |
| 47 | 42 |
| 48 void main() { | 43 void main() { |
| 49 testHttpConnectionInfo(); | 44 testHttpConnectionInfo(); |
| 50 } | 45 } |
| OLD | NEW |