Index: tests/standalone/io/https_server_test.dart |
diff --git a/tests/standalone/io/https_server_test.dart b/tests/standalone/io/https_server_test.dart |
index 082950e70eda04012c8ca533ac471788840e3972..9c6a4e1694473b3f0d7092733bc4b116a5521db5 100644 |
--- a/tests/standalone/io/https_server_test.dart |
+++ b/tests/standalone/io/https_server_test.dart |
@@ -63,7 +63,41 @@ void InitializeSSL() { |
password: 'dartdart'); |
} |
+void testEarlyClientClose() { |
+ HttpServer.bindSecure(HOST_NAME, |
+ 0, |
+ certificateName: 'localhost_cert').then((server) { |
+ server.listen( |
+ (request) { |
+ String name = Platform.script.toFilePath(); |
+ new File(name).openRead().pipe(request.response) |
+ .catchError((e) { /* ignore */ }); |
+ }, onError: (error) { |
+ print(error); |
+ }); |
+ |
+ var count = 0; |
+ makeRequest() { |
+ Socket.connect("127.0.0.1", server.port).then((socket) { |
+ var data = "GET / HTTP/1.1\r\nContent-Length: 0\r\n\r\n"; |
Søren Gjesse
2013/12/11 13:14:01
Send "Invalid TLS handsahke" or something else ins
Anders Johnsen
2013/12/12 10:36:47
Done.
|
+ socket.write(data); |
+ socket.close(); |
+ socket.done.then((_) { |
+ socket.destroy(); |
+ if (++count < 10) { |
+ makeRequest(); |
+ } else { |
+ server.close(); |
+ } |
+ }); |
+ }); |
+ } |
+ makeRequest(); |
+ }); |
+} |
+ |
void main() { |
InitializeSSL(); |
testListenOn(); |
+ testEarlyClientClose(); |
} |