Index: tests/standalone/io/http_connection_close_test.dart |
diff --git a/tests/standalone/io/http_connection_close_test.dart b/tests/standalone/io/http_connection_close_test.dart |
index 75f3b9825764ab861934f8f9c75b74cb5ccc9d86..e8f36091480986024dee67b11926d423feb2d1b8 100644 |
--- a/tests/standalone/io/http_connection_close_test.dart |
+++ b/tests/standalone/io/http_connection_close_test.dart |
@@ -1,4 +1,4 @@ |
-// Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file |
+// Copyright (c) 2013, the Dart project authors. Please see the AUTHORS file |
// for details. All rights reserved. Use of this source code is governed by a |
// BSD-style license that can be found in the LICENSE file. |
// |
@@ -8,74 +8,73 @@ import "dart:io"; |
import "dart:uri"; |
void testHttp10Close(bool closeRequest) { |
- HttpServer server = new HttpServer(); |
- server.listen("127.0.0.1", 0, backlog: 5); |
+ HttpServer.bind().then((server) { |
+ server.listen((request) { |
+ request.response.close(); |
+ }); |
- Socket socket = new Socket("127.0.0.1", server.port); |
- socket.onConnect = () { |
- List<int> buffer = new List<int>.fixedLength(1024); |
- socket.outputStream.writeString("GET / HTTP/1.0\r\n\r\n"); |
- if (closeRequest) socket.outputStream.close(); |
- socket.onData = () => socket.readList(buffer, 0, buffer.length); |
- socket.onClosed = () { |
- if (!closeRequest) socket.close(true); |
- server.close(); |
- }; |
- }; |
+ Socket.connect("127.0.0.1", server.port) |
+ .then((socket) { |
+ socket.addString("GET / HTTP/1.0\r\n\r\n"); |
+ socket.listen( |
+ (data) {}, |
+ onDone: () { |
+ if (!closeRequest) socket.destroy(); |
+ server.close(); |
+ }); |
+ if (closeRequest) socket.close(); |
+ }); |
+ }); |
} |
void testHttp11Close(bool closeRequest) { |
- HttpServer server = new HttpServer(); |
- server.listen("127.0.0.1", 0, backlog: 5); |
+ HttpServer.bind().then((server) { |
+ server.listen((request) { |
+ request.response.close(); |
+ }); |
- Socket socket = new Socket("127.0.0.1", server.port); |
- socket.onConnect = () { |
- List<int> buffer = new List<int>.fixedLength(1024); |
- socket.outputStream.writeString( |
- "GET / HTTP/1.1\r\nConnection: close\r\n\r\n"); |
- if (closeRequest) socket.outputStream.close(); |
- socket.onData = () => socket.readList(buffer, 0, buffer.length); |
- socket.onClosed = () { |
- if (!closeRequest) socket.close(true); |
- server.close(); |
- }; |
- }; |
+ Socket.connect("127.0.0.1", server.port) |
+ .then((socket) { |
+ List<int> buffer = new List<int>.fixedLength(1024); |
+ socket.addString("GET / HTTP/1.1\r\nConnection: close\r\n\r\n"); |
+ socket.listen( |
+ (data) {}, |
+ onDone: () { |
+ if (!closeRequest) socket.destroy(); |
+ server.close(); |
+ }); |
+ if (closeRequest) socket.close(); |
+ }); |
+ }); |
} |
void testStreamResponse() { |
- Timer timer; |
- var server = new HttpServer(); |
- server.onError = (e) { |
- server.close(); |
- timer.cancel(); |
- }; |
- server.listen("127.0.0.1", 0, backlog: 5); |
- server.defaultRequestHandler = (var request, var response) { |
- timer = new Timer.repeating(new Duration(milliseconds: 10), (_) { |
- DateTime now = new DateTime.now(); |
- try { |
- response.outputStream.writeString( |
- 'data:${now.millisecondsSinceEpoch}\n\n'); |
- } catch (e) { |
- timer.cancel(); |
- server.close(); |
+ HttpServer.bind().then((server) { |
+ server.listen((request) { |
+ // TODO(ajohnsen): Use timer (see old version). |
+ for (int i = 0; i < 10; i++) { |
+ request.response.addString( |
+ 'data:${new DateTime.now().millisecondsSinceEpoch}\n\n'); |
} |
}); |
- }; |
- var client = new HttpClient(); |
- var connection = |
- client.getUrl(Uri.parse("http://127.0.0.1:${server.port}")); |
- connection.onResponse = (resp) { |
- int bytes = 0; |
- resp.inputStream.onData = () { |
- bytes += resp.inputStream.read().length; |
- if (bytes > 100) { |
- client.shutdown(force: true); |
- } |
- }; |
- }; |
- connection.onError = (e) => Expect.isTrue(e is HttpException); |
+ var client = new HttpClient(); |
+ client.getUrl(Uri.parse("http://127.0.0.1:${server.port}")) |
+ .then((request) => request.close()) |
+ .then((response) { |
+ int bytes = 0; |
+ response.listen( |
+ (data) { |
+ bytes += data.length; |
+ if (bytes > 100) { |
+ client.close(force: true); |
+ } |
+ }, |
+ onError: (error) { |
+ server.close(); |
+ }); |
+ }); |
+ }); |
} |
main() { |