Index: tests/standalone/io/http_basic_test.dart |
diff --git a/tests/standalone/io/http_basic_test.dart b/tests/standalone/io/http_basic_test.dart |
index 9ec9a6a4590353c9e47d05edc564b24e5e931420..eff6f5d056d168e2ad0b4458a017dddb5c57e85e 100644 |
--- a/tests/standalone/io/http_basic_test.dart |
+++ b/tests/standalone/io/http_basic_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. |
// |
@@ -34,7 +34,7 @@ class TestServerMain { |
_serverPort.send(command, _statusPort.toSendPort()); |
} |
- void shutdown() { |
+ void close() { |
// Send server stop message to the server. |
_serverPort.send(new TestServerCommand.stop(), _statusPort.toSendPort()); |
_statusPort.close(); |
@@ -98,45 +98,49 @@ void startTestServer() { |
class TestServer { |
// Echo the request content back to the response. |
- void _echoHandler(HttpRequest request, HttpResponse response) { |
+ void _echoHandler(HttpRequest request) { |
+ var response = request.response; |
Expect.equals("POST", request.method); |
response.contentLength = request.contentLength; |
- request.inputStream.pipe(response.outputStream); |
+ request.pipe(response); |
} |
// Echo the request content back to the response. |
- void _zeroToTenHandler(HttpRequest request, HttpResponse response) { |
+ void _zeroToTenHandler(HttpRequest request) { |
+ var response = request.response; |
Expect.equals("GET", request.method); |
- request.inputStream.onData = () {}; |
- request.inputStream.onClosed = () { |
- response.outputStream.writeString("01234567890"); |
- response.outputStream.close(); |
- }; |
+ request.listen((_) {}, onDone: () { |
+ response.addString("01234567890"); |
+ response.close(); |
+ }); |
} |
// Return a 404. |
- void _notFoundHandler(HttpRequest request, HttpResponse response) { |
+ void _notFoundHandler(HttpRequest request) { |
+ var response = request.response; |
response.statusCode = HttpStatus.NOT_FOUND; |
response.headers.set("Content-Type", "text/html; charset=UTF-8"); |
- response.outputStream.writeString("Page not found"); |
- response.outputStream.close(); |
+ response.addString("Page not found"); |
+ response.close(); |
} |
// Return a 301 with a custom reason phrase. |
- void _reasonForMovingHandler(HttpRequest request, HttpResponse response) { |
+ void _reasonForMovingHandler(HttpRequest request) { |
+ var response = request.response; |
response.statusCode = HttpStatus.MOVED_PERMANENTLY; |
response.reasonPhrase = "Don't come looking here any more"; |
- response.outputStream.close(); |
+ response.close(); |
} |
// Check the "Host" header. |
- void _hostHandler(HttpRequest request, HttpResponse response) { |
+ void _hostHandler(HttpRequest request) { |
+ var response = request.response; |
Expect.equals(1, request.headers["Host"].length); |
Expect.equals("www.dartlang.org:1234", request.headers["Host"][0]); |
Expect.equals("www.dartlang.org", request.headers.host); |
Expect.equals(1234, request.headers.port); |
response.statusCode = HttpStatus.OK; |
- response.outputStream.close(); |
+ response.close(); |
} |
void init() { |
@@ -150,11 +154,12 @@ class TestServer { |
void dispatch(var message, SendPort replyTo) { |
if (message.isStart) { |
- _server = new HttpServer(); |
try { |
- _server.listen("127.0.0.1", 0); |
- _server.defaultRequestHandler = _requestReceivedHandler; |
- replyTo.send(new TestServerStatus.started(_server.port), null); |
+ HttpServer.bind().then((server) { |
+ _server = server; |
+ _server.listen(_requestReceivedHandler); |
+ replyTo.send(new TestServerStatus.started(_server.port), null); |
+ }); |
} catch (e) { |
replyTo.send(new TestServerStatus.error(), null); |
} |
@@ -167,12 +172,12 @@ class TestServer { |
} |
} |
- void _requestReceivedHandler(HttpRequest request, HttpResponse response) { |
- var requestHandler =_requestHandlers[request.path]; |
+ void _requestReceivedHandler(HttpRequest request) { |
+ var requestHandler =_requestHandlers[request.uri.path]; |
if (requestHandler != null) { |
- requestHandler(request, response); |
+ requestHandler(request); |
} else { |
- _notFoundHandler(request, response); |
+ _notFoundHandler(request); |
} |
} |
@@ -184,7 +189,7 @@ class TestServer { |
void testStartStop() { |
TestServerMain testServerMain = new TestServerMain(); |
testServerMain.setServerStartedHandler((int port) { |
- testServerMain.shutdown(); |
+ testServerMain.close(); |
}); |
testServerMain.start(); |
} |
@@ -193,19 +198,19 @@ void testGET() { |
TestServerMain testServerMain = new TestServerMain(); |
testServerMain.setServerStartedHandler((int port) { |
HttpClient httpClient = new HttpClient(); |
- HttpClientConnection conn = |
- httpClient.get("127.0.0.1", port, "/0123456789"); |
- conn.onResponse = (HttpClientResponse response) { |
- Expect.equals(HttpStatus.OK, response.statusCode); |
- StringInputStream stream = new StringInputStream(response.inputStream); |
- StringBuffer body = new StringBuffer(); |
- stream.onData = () => body.add(stream.read()); |
- stream.onClosed = () { |
- Expect.equals("01234567890", body.toString()); |
- httpClient.shutdown(); |
- testServerMain.shutdown(); |
- }; |
- }; |
+ httpClient.get("127.0.0.1", port, "/0123456789") |
+ .then((request) => request.close()) |
+ .then((response) { |
+ Expect.equals(HttpStatus.OK, response.statusCode); |
+ StringBuffer body = new StringBuffer(); |
+ response.listen( |
+ (data) => body.add(new String.fromCharCodes(data)), |
+ onDone: () { |
+ Expect.equals("01234567890", body.toString()); |
+ httpClient.close(); |
+ testServerMain.close(); |
+ }); |
+ }); |
}); |
testServerMain.start(); |
} |
@@ -220,34 +225,33 @@ void testPOST(bool chunkedEncoding) { |
int count = 0; |
HttpClient httpClient = new HttpClient(); |
void sendRequest() { |
- HttpClientConnection conn = |
- httpClient.post("127.0.0.1", port, "/echo"); |
- conn.onRequest = (HttpClientRequest request) { |
- if (chunkedEncoding) { |
- request.outputStream.writeString(data.substring(0, 10)); |
- request.outputStream.writeString(data.substring(10, data.length)); |
- } else { |
- request.contentLength = data.length; |
- request.outputStream.write(data.charCodes); |
- } |
- request.outputStream.close(); |
- }; |
- conn.onResponse = (HttpClientResponse response) { |
- Expect.equals(HttpStatus.OK, response.statusCode); |
- StringInputStream stream = new StringInputStream(response.inputStream); |
- StringBuffer body = new StringBuffer(); |
- stream.onData = () => body.add(stream.read()); |
- stream.onClosed = () { |
- Expect.equals(data, body.toString()); |
- count++; |
- if (count < kMessageCount) { |
- sendRequest(); |
- } else { |
- httpClient.shutdown(); |
- testServerMain.shutdown(); |
- } |
- }; |
- }; |
+ httpClient.post("127.0.0.1", port, "/echo") |
+ .then((request) { |
+ if (chunkedEncoding) { |
+ request.addString(data.substring(0, 10)); |
+ request.addString(data.substring(10, data.length)); |
+ } else { |
+ request.contentLength = data.length; |
+ request.addString(data); |
+ } |
+ return request.close(); |
+ }) |
+ .then((response) { |
+ Expect.equals(HttpStatus.OK, response.statusCode); |
+ StringBuffer body = new StringBuffer(); |
+ response.listen( |
+ (data) => body.add(new String.fromCharCodes(data)), |
+ onDone: () { |
+ Expect.equals(data, body.toString()); |
+ count++; |
+ if (count < kMessageCount) { |
+ sendRequest(); |
+ } else { |
+ httpClient.close(); |
+ testServerMain.close(); |
+ } |
+ }); |
+ }); |
} |
sendRequest(); |
@@ -264,19 +268,19 @@ void test404() { |
TestServerMain testServerMain = new TestServerMain(); |
testServerMain.setServerStartedHandler((int port) { |
HttpClient httpClient = new HttpClient(); |
- HttpClientConnection conn = |
- httpClient.get("127.0.0.1", port, "/thisisnotfound"); |
- conn.onResponse = (HttpClientResponse response) { |
- Expect.equals(HttpStatus.NOT_FOUND, response.statusCode); |
- var body = new StringBuffer(); |
- var stream = response.inputStream; |
- stream.onData = () => body.add(new String.fromCharCodes(stream.read())); |
- stream.onClosed = () { |
- Expect.equals("Page not found", body.toString()); |
- httpClient.shutdown(); |
- testServerMain.shutdown(); |
- }; |
- }; |
+ httpClient.get("127.0.0.1", port, "/thisisnotfound") |
+ .then((request) => request.close()) |
+ .then((response) { |
+ Expect.equals(HttpStatus.NOT_FOUND, response.statusCode); |
+ var body = new StringBuffer(); |
+ response.listen( |
+ (data) => body.add(new String.fromCharCodes(data)), |
+ onDone: () { |
+ Expect.equals("Page not found", body.toString()); |
+ httpClient.close(); |
+ testServerMain.close(); |
+ }); |
+ }); |
}); |
testServerMain.start(); |
} |
@@ -285,19 +289,22 @@ void testReasonPhrase() { |
TestServerMain testServerMain = new TestServerMain(); |
testServerMain.setServerStartedHandler((int port) { |
HttpClient httpClient = new HttpClient(); |
- HttpClientConnection conn = |
- httpClient.get("127.0.0.1", port, "/reasonformoving"); |
- conn.followRedirects = false; |
- conn.onResponse = (HttpClientResponse response) { |
- Expect.equals(HttpStatus.MOVED_PERMANENTLY, response.statusCode); |
- Expect.equals("Don't come looking here any more", response.reasonPhrase); |
- var stream = response.inputStream; |
- stream.onData = () => Expect.fail("No data expected"); |
- stream.onClosed = () { |
- httpClient.shutdown(); |
- testServerMain.shutdown(); |
- }; |
- }; |
+ httpClient.get("127.0.0.1", port, "/reasonformoving") |
+ .then((request) { |
+ request.followRedirects = false; |
+ return request.close(); |
+ }) |
+ .then((response) { |
+ Expect.equals(HttpStatus.MOVED_PERMANENTLY, response.statusCode); |
+ Expect.equals("Don't come looking here any more", |
+ response.reasonPhrase); |
+ response.listen( |
+ (data) => Expect.fail("No data expected"), |
+ onDone: () { |
+ httpClient.close(); |
+ testServerMain.close(); |
+ }); |
+ }); |
}); |
testServerMain.start(); |
} |