Index: tests/standalone/io/http_content_length_test.dart |
diff --git a/tests/standalone/io/http_content_length_test.dart b/tests/standalone/io/http_content_length_test.dart |
index 5094c43b2fdac9a022f9a94d768c125463ecbec2..f65f4052623de76a9bd10d2d1fab40d47d7b9918 100644 |
--- a/tests/standalone/io/http_content_length_test.dart |
+++ b/tests/standalone/io/http_content_length_test.dart |
@@ -15,56 +15,49 @@ import "dart:io"; |
void testNoBody(int totalConnections, bool explicitContentLength) { |
int count = 0; |
HttpServer.bind("127.0.0.1", 0, backlog: totalConnections).then((server) { |
- server.listen( |
- (HttpRequest request) { |
- Expect.equals("0", request.headers.value('content-length')); |
- Expect.equals(0, request.contentLength); |
- var response = request.response; |
- response.contentLength = 0; |
- response.done |
- .then((_) { |
- Expect.fail("Unexpected successful response completion"); |
- }) |
- .catchError((error) { |
- Expect.isTrue(error is HttpException); |
- if (++count == totalConnections) { |
- server.close(); |
- } |
- }); |
- // write with content length 0 closes the connection and |
- // reports an error. |
- response.write("x"); |
- // Subsequent write are ignored as there is already an |
- // error. |
- response.write("x"); |
- // After an explicit close, write becomes a state error |
- // because we have said we will not add more. |
- response.close(); |
- response.write("x"); |
- }, |
- onError: (e, trace) { |
- String msg = "Unexpected server error $e"; |
- if (trace != null) msg += "\nStackTrace: $trace"; |
- Expect.fail(msg); |
- }); |
+ server.listen((HttpRequest request) { |
+ Expect.equals("0", request.headers.value('content-length')); |
+ Expect.equals(0, request.contentLength); |
+ var response = request.response; |
+ response.contentLength = 0; |
+ response.done.then((_) { |
+ Expect.fail("Unexpected successful response completion"); |
+ }).catchError((error) { |
+ Expect.isTrue(error is HttpException); |
+ if (++count == totalConnections) { |
+ server.close(); |
+ } |
+ }); |
+ // write with content length 0 closes the connection and |
+ // reports an error. |
+ response.write("x"); |
+ // Subsequent write are ignored as there is already an |
+ // error. |
+ response.write("x"); |
+ // After an explicit close, write becomes a state error |
+ // because we have said we will not add more. |
+ response.close(); |
+ response.write("x"); |
+ }, onError: (e, trace) { |
+ String msg = "Unexpected server error $e"; |
+ if (trace != null) msg += "\nStackTrace: $trace"; |
+ Expect.fail(msg); |
+ }); |
HttpClient client = new HttpClient(); |
for (int i = 0; i < totalConnections; i++) { |
- client.get("127.0.0.1", server.port, "/") |
- .then((request) { |
- if (explicitContentLength) { |
- request.contentLength = 0; |
- } |
- return request.close(); |
- }) |
- .then((response) { |
- Expect.equals("0", response.headers.value('content-length')); |
- Expect.equals(0, response.contentLength); |
- response.drain(); |
- }) |
- .catchError((e, trace) { |
- // It's also okay to fail, as headers may not be written. |
- }); |
+ client.get("127.0.0.1", server.port, "/").then((request) { |
+ if (explicitContentLength) { |
+ request.contentLength = 0; |
+ } |
+ return request.close(); |
+ }).then((response) { |
+ Expect.equals("0", response.headers.value('content-length')); |
+ Expect.equals(0, response.contentLength); |
+ response.drain(); |
+ }).catchError((e, trace) { |
+ // It's also okay to fail, as headers may not be written. |
+ }); |
} |
}); |
} |
@@ -72,180 +65,156 @@ void testNoBody(int totalConnections, bool explicitContentLength) { |
void testBody(int totalConnections, bool useHeader) { |
HttpServer.bind("127.0.0.1", 0, backlog: totalConnections).then((server) { |
int serverCount = 0; |
- server.listen( |
- (HttpRequest request) { |
- Expect.equals("2", request.headers.value('content-length')); |
- Expect.equals(2, request.contentLength); |
- var response = request.response; |
- if (useHeader) { |
- response.contentLength = 2; |
- } else { |
- response.headers.set("content-length", 2); |
+ server.listen((HttpRequest request) { |
+ Expect.equals("2", request.headers.value('content-length')); |
+ Expect.equals(2, request.contentLength); |
+ var response = request.response; |
+ if (useHeader) { |
+ response.contentLength = 2; |
+ } else { |
+ response.headers.set("content-length", 2); |
+ } |
+ request.listen((d) {}, onDone: () { |
+ response.write("x"); |
+ Expect.throws( |
+ () => response.contentLength = 3, (e) => e is HttpException); |
+ response.write("x"); |
+ response.write("x"); |
+ response.done.then((_) { |
+ Expect.fail("Unexpected successful response completion"); |
+ }).catchError((error) { |
+ Expect.isTrue(error is HttpException, "[$error]"); |
+ if (++serverCount == totalConnections) { |
+ server.close(); |
} |
- request.listen( |
- (d) {}, |
- onDone: () { |
- response.write("x"); |
- Expect.throws(() => response.contentLength = 3, |
- (e) => e is HttpException); |
- response.write("x"); |
- response.write("x"); |
- response.done |
- .then((_) { |
- Expect.fail("Unexpected successful response completion"); |
- }) |
- .catchError((error) { |
- Expect.isTrue(error is HttpException, "[$error]"); |
- if (++serverCount == totalConnections) { |
- server.close(); |
- } |
- }); |
- response.close(); |
- response.write("x"); |
- }); |
- }, |
- onError: (e, trace) { |
- String msg = "Unexpected error $e"; |
- if (trace != null) msg += "\nStackTrace: $trace"; |
- Expect.fail(msg); |
}); |
+ response.close(); |
+ response.write("x"); |
+ }); |
+ }, onError: (e, trace) { |
+ String msg = "Unexpected error $e"; |
+ if (trace != null) msg += "\nStackTrace: $trace"; |
+ Expect.fail(msg); |
+ }); |
int clientCount = 0; |
HttpClient client = new HttpClient(); |
for (int i = 0; i < totalConnections; i++) { |
- client.get("127.0.0.1", server.port, "/") |
- .then((request) { |
- if (useHeader) { |
- request.contentLength = 2; |
- } else { |
- request.headers.add(HttpHeaders.CONTENT_LENGTH, "7"); |
- request.headers.add(HttpHeaders.CONTENT_LENGTH, "2"); |
- } |
- request.write("x"); |
- Expect.throws(() => request.contentLength = 3, |
- (e) => e is HttpException); |
- request.write("x"); |
- return request.close(); |
- }) |
- .then((response) { |
- Expect.equals("2", response.headers.value('content-length')); |
- Expect.equals(2, response.contentLength); |
- response.listen( |
- (d) {}, |
- onDone: () { |
- if (++clientCount == totalConnections) { |
- client.close(); |
- } |
- }, |
- onError: (error, trace) { |
- // Undefined what server response sends. |
- }); |
- }) |
- .catchError((error) { |
- // It's also okay to fail, as headers may not be written. |
- }); |
+ client.get("127.0.0.1", server.port, "/").then((request) { |
+ if (useHeader) { |
+ request.contentLength = 2; |
+ } else { |
+ request.headers.add(HttpHeaders.CONTENT_LENGTH, "7"); |
+ request.headers.add(HttpHeaders.CONTENT_LENGTH, "2"); |
+ } |
+ request.write("x"); |
+ Expect.throws( |
+ () => request.contentLength = 3, (e) => e is HttpException); |
+ request.write("x"); |
+ return request.close(); |
+ }).then((response) { |
+ Expect.equals("2", response.headers.value('content-length')); |
+ Expect.equals(2, response.contentLength); |
+ response.listen((d) {}, onDone: () { |
+ if (++clientCount == totalConnections) { |
+ client.close(); |
+ } |
+ }, onError: (error, trace) { |
+ // Undefined what server response sends. |
+ }); |
+ }).catchError((error) { |
+ // It's also okay to fail, as headers may not be written. |
+ }); |
} |
}); |
} |
void testBodyChunked(int totalConnections, bool useHeader) { |
HttpServer.bind("127.0.0.1", 0, backlog: totalConnections).then((server) { |
- server.listen( |
- (HttpRequest request) { |
- Expect.isNull(request.headers.value('content-length')); |
- Expect.equals(-1, request.contentLength); |
- var response = request.response; |
- if (useHeader) { |
- response.contentLength = 2; |
- response.headers.chunkedTransferEncoding = true; |
- } else { |
- response.headers.set("content-length", 2); |
- response.headers.set("transfer-encoding", "chunked"); |
- } |
- request.listen( |
- (d) {}, |
- onDone: () { |
- response.write("x"); |
- Expect.throws( |
- () => response.headers.chunkedTransferEncoding = false, |
- (e) => e is HttpException); |
- response.write("x"); |
- response.write("x"); |
- response.close(); |
- response.write("x"); |
- }); |
- }, |
- onError: (e, trace) { |
- String msg = "Unexpected error $e"; |
- if (trace != null) msg += "\nStackTrace: $trace"; |
- Expect.fail(msg); |
- }); |
+ server.listen((HttpRequest request) { |
+ Expect.isNull(request.headers.value('content-length')); |
+ Expect.equals(-1, request.contentLength); |
+ var response = request.response; |
+ if (useHeader) { |
+ response.contentLength = 2; |
+ response.headers.chunkedTransferEncoding = true; |
+ } else { |
+ response.headers.set("content-length", 2); |
+ response.headers.set("transfer-encoding", "chunked"); |
+ } |
+ request.listen((d) {}, onDone: () { |
+ response.write("x"); |
+ Expect.throws(() => response.headers.chunkedTransferEncoding = false, |
+ (e) => e is HttpException); |
+ response.write("x"); |
+ response.write("x"); |
+ response.close(); |
+ response.write("x"); |
+ }); |
+ }, onError: (e, trace) { |
+ String msg = "Unexpected error $e"; |
+ if (trace != null) msg += "\nStackTrace: $trace"; |
+ Expect.fail(msg); |
+ }); |
int count = 0; |
HttpClient client = new HttpClient(); |
for (int i = 0; i < totalConnections; i++) { |
- client.get("127.0.0.1", server.port, "/") |
- .then((request) { |
- if (useHeader) { |
- request.contentLength = 2; |
- request.headers.chunkedTransferEncoding = true; |
- } else { |
- request.headers.add(HttpHeaders.CONTENT_LENGTH, "2"); |
- request.headers.set(HttpHeaders.TRANSFER_ENCODING, "chunked"); |
- } |
- request.write("x"); |
- Expect.throws(() => request.headers.chunkedTransferEncoding = false, |
- (e) => e is HttpException); |
- request.write("x"); |
- request.write("x"); |
- return request.close(); |
- }) |
- .then((response) { |
- Expect.isNull(response.headers.value('content-length')); |
- Expect.equals(-1, response.contentLength); |
- response.listen( |
- (d) {}, |
- onDone: () { |
- if (++count == totalConnections) { |
- client.close(); |
- server.close(); |
- } |
- }); |
- }) |
- .catchError((e, trace) { |
- String msg = "Unexpected error $e"; |
- if (trace != null) msg += "\nStackTrace: $trace"; |
- Expect.fail(msg); |
- }); |
+ client.get("127.0.0.1", server.port, "/").then((request) { |
+ if (useHeader) { |
+ request.contentLength = 2; |
+ request.headers.chunkedTransferEncoding = true; |
+ } else { |
+ request.headers.add(HttpHeaders.CONTENT_LENGTH, "2"); |
+ request.headers.set(HttpHeaders.TRANSFER_ENCODING, "chunked"); |
+ } |
+ request.write("x"); |
+ Expect.throws(() => request.headers.chunkedTransferEncoding = false, |
+ (e) => e is HttpException); |
+ request.write("x"); |
+ request.write("x"); |
+ return request.close(); |
+ }).then((response) { |
+ Expect.isNull(response.headers.value('content-length')); |
+ Expect.equals(-1, response.contentLength); |
+ response.listen((d) {}, onDone: () { |
+ if (++count == totalConnections) { |
+ client.close(); |
+ server.close(); |
+ } |
+ }); |
+ }).catchError((e, trace) { |
+ String msg = "Unexpected error $e"; |
+ if (trace != null) msg += "\nStackTrace: $trace"; |
+ Expect.fail(msg); |
+ }); |
} |
}); |
} |
void testSetContentLength() { |
HttpServer.bind("127.0.0.1", 0).then((server) { |
- server.listen( |
- (HttpRequest request) { |
- var response = request.response; |
- Expect.isNull(response.headers.value('content-length')); |
- Expect.equals(-1, response.contentLength); |
- response.headers.set("content-length", 3); |
- Expect.equals("3", response.headers.value('content-length')); |
- Expect.equals(3, response.contentLength); |
- response.write("xxx"); |
- response.close(); |
- }); |
+ server.listen((HttpRequest request) { |
+ var response = request.response; |
+ Expect.isNull(response.headers.value('content-length')); |
+ Expect.equals(-1, response.contentLength); |
+ response.headers.set("content-length", 3); |
+ Expect.equals("3", response.headers.value('content-length')); |
+ Expect.equals(3, response.contentLength); |
+ response.write("xxx"); |
+ response.close(); |
+ }); |
var client = new HttpClient(); |
- client.get("127.0.0.1", server.port, "/") |
+ client |
+ .get("127.0.0.1", server.port, "/") |
.then((request) => request.close()) |
.then((response) { |
- response.listen( |
- (_) { }, |
- onDone: () { |
- client.close(); |
- server.close(); |
- }); |
- }); |
+ response.listen((_) {}, onDone: () { |
+ client.close(); |
+ server.close(); |
+ }); |
+ }); |
}); |
} |