OLD | NEW |
| (Empty) |
1 // Copyright (c) 2013, the Dart project authors. Please see the AUTHORS file | |
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. | |
4 | |
5 import "dart:io"; | |
6 import "dart:uri"; | |
7 import "dart:isolate"; | |
8 | |
9 const SERVER_ADDRESS = "127.0.0.1"; | |
10 const HOST_NAME = "localhost"; | |
11 | |
12 void test() { | |
13 HttpsServer server = new HttpsServer(); | |
14 var client = new HttpClient(); | |
15 | |
16 // Create a web socket handler and set it as the HTTP server default | |
17 // handler. | |
18 WebSocketHandler wsHandler = new WebSocketHandler(); | |
19 wsHandler.onOpen = (WebSocketConnection conn) { | |
20 conn.onMessage = (Object message) => conn.send(message); | |
21 conn.onClosed = (status, reason) { | |
22 conn.close(); | |
23 server.close(); | |
24 client.shutdown(); | |
25 }; | |
26 }; | |
27 server.defaultRequestHandler = wsHandler.onRequest; | |
28 | |
29 server.onError = (Exception e) { | |
30 Expect.fail("Unexpected error in Https Server: $e"); | |
31 }; | |
32 | |
33 server.listen(SERVER_ADDRESS, | |
34 0, | |
35 backlog: 5, | |
36 certificate_name: "CN=$HOST_NAME"); | |
37 | |
38 // Connect web socket over HTTPS. | |
39 var conn = new WebSocketClientConnection( | |
40 client.getUrl( | |
41 Uri.parse("https://$HOST_NAME:${server.port}/"))); | |
42 conn.onOpen = () { | |
43 conn.send("hello"); | |
44 }; | |
45 conn.onMessage = (msg) { | |
46 Expect.equals("hello", msg); | |
47 print(msg); | |
48 conn.close(); | |
49 }; | |
50 | |
51 } | |
52 | |
53 void InitializeSSL() { | |
54 var testPkcertDatabase = | |
55 new Path(new Options().script).directoryPath.append("pkcert/"); | |
56 SecureSocket.initialize(database: testPkcertDatabase.toNativePath(), | |
57 password: "dartdart"); | |
58 } | |
59 | |
60 void main() { | |
61 InitializeSSL(); | |
62 test(); | |
63 } | |
OLD | NEW |