| 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() {
|
|
|