OLD | NEW |
1 // Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file | 1 // Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file |
2 // for details. All rights reserved. Use of this source code is governed by a | 2 // for details. All rights reserved. Use of this source code is governed by a |
3 // BSD-style license that can be found in the LICENSE file. | 3 // BSD-style license that can be found in the LICENSE file. |
4 | 4 |
5 import "package:expect/expect.dart"; | 5 import "package:expect/expect.dart"; |
6 import "package:path/path.dart"; | 6 import "package:path/path.dart"; |
7 import "dart:async"; | 7 import "dart:async"; |
8 import "dart:io"; | 8 import "dart:io"; |
9 import "dart:isolate"; | 9 import "dart:isolate"; |
10 | 10 |
(...skipping 45 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
56 test(() { }); | 56 test(() { }); |
57 }); | 57 }); |
58 } | 58 } |
59 | 59 |
60 void InitializeSSL() { | 60 void InitializeSSL() { |
61 var testPkcertDatabase = Platform.script.resolve('pkcert').toFilePath(); | 61 var testPkcertDatabase = Platform.script.resolve('pkcert').toFilePath(); |
62 SecureSocket.initialize(database: testPkcertDatabase, | 62 SecureSocket.initialize(database: testPkcertDatabase, |
63 password: 'dartdart'); | 63 password: 'dartdart'); |
64 } | 64 } |
65 | 65 |
| 66 void testEarlyClientClose() { |
| 67 HttpServer.bindSecure(HOST_NAME, |
| 68 0, |
| 69 certificateName: 'localhost_cert').then((server) { |
| 70 server.listen( |
| 71 (request) { |
| 72 String name = Platform.script.toFilePath(); |
| 73 new File(name).openRead().pipe(request.response) |
| 74 .catchError((e) { /* ignore */ }); |
| 75 }); |
| 76 |
| 77 var count = 0; |
| 78 makeRequest() { |
| 79 Socket.connect("127.0.0.1", server.port).then((socket) { |
| 80 var data = "Invalid TLS handshake"; |
| 81 socket.write(data); |
| 82 socket.close(); |
| 83 socket.done.then((_) { |
| 84 socket.destroy(); |
| 85 if (++count < 10) { |
| 86 makeRequest(); |
| 87 } else { |
| 88 server.close(); |
| 89 } |
| 90 }); |
| 91 }); |
| 92 } |
| 93 makeRequest(); |
| 94 }); |
| 95 } |
| 96 |
66 void main() { | 97 void main() { |
67 InitializeSSL(); | 98 InitializeSSL(); |
68 testListenOn(); | 99 testListenOn(); |
| 100 testEarlyClientClose(); |
69 } | 101 } |
OLD | NEW |