Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(14)

Side by Side Diff: tests/standalone/io/web_socket_test.dart

Issue 839063005: Allow additional headers for WebSocket connect (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Created 5 years, 11 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 // Copyright (c) 2013, the Dart project authors. Please see the AUTHORS file 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 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 // VMOptions= 5 // VMOptions=
6 // VMOptions=--short_socket_read 6 // VMOptions=--short_socket_read
7 // VMOptions=--short_socket_write 7 // VMOptions=--short_socket_write
8 // VMOptions=--short_socket_read --short_socket_write 8 // VMOptions=--short_socket_read --short_socket_write
9 9
10 import "dart:async"; 10 import "dart:async";
(...skipping 414 matching lines...) Expand 10 before | Expand all | Expand 10 after
425 425
426 WebSocket.connect(url).then((websocket) { 426 WebSocket.connect(url).then((websocket) {
427 return websocket.listen((message) { 427 return websocket.listen((message) {
428 Expect.equals("Hello", message); 428 Expect.equals("Hello", message);
429 websocket.close(); 429 websocket.close();
430 }).asFuture(); 430 }).asFuture();
431 }).then((_) => server.close()); 431 }).then((_) => server.close());
432 }); 432 });
433 } 433 }
434 434
435 void testOnRequest(bool useFuture) {
436 createServer().then((server) {
437 server.listen((request) {
438 Expect.isTrue(WebSocketTransformer.isUpgradeRequest(request));
439 Expect.equals(request.headers['My-Header'][0], 'my-value');
440 WebSocketTransformer.upgrade(request).then((webSocket) {
441 webSocket.listen((_) { webSocket.close(); });
442 webSocket.add("Hello");
443 });
444 });
445
446 onRequest(request) {
447 request.headers.set('My-Header', 'my-value');
448 return useFuture ? new Future.value() : null;
Lasse Reichstein Nielsen 2015/01/12 15:11:56 Consider actually delaying some action to just bef
Søren Gjesse 2015/01/12 15:36:34 Removed the use of a callback.
449 }
450
451 var url = '${secure ? "wss" : "ws"}://$HOST_NAME:${server.port}/';
452
453 WebSocket.connect(url, onRequest: onRequest).then((websocket) {
454 return websocket.listen((message) {
455 Expect.equals("Hello", message);
456 websocket.close();
457 }).asFuture();
458 }).then((_) => server.close());
459 });
460 }
kustermann 2015/01/09 14:45:12 [Since this file already imports async_helper, you
Søren Gjesse 2015/01/12 15:36:34 Done.
461
462
435 void runTests() { 463 void runTests() {
436 testRequestResponseClientCloses(2, null, null, 1); 464 testRequestResponseClientCloses(2, null, null, 1);
437 testRequestResponseClientCloses(2, 3001, null, 2); 465 testRequestResponseClientCloses(2, 3001, null, 2);
438 testRequestResponseClientCloses(2, 3002, "Got tired", 3); 466 testRequestResponseClientCloses(2, 3002, "Got tired", 3);
439 testRequestResponseServerCloses(2, null, null); 467 testRequestResponseServerCloses(2, null, null);
440 testRequestResponseServerCloses(2, 3001, null); 468 testRequestResponseServerCloses(2, 3001, null);
441 testRequestResponseServerCloses(2, 3002, "Got tired"); 469 testRequestResponseServerCloses(2, 3002, "Got tired");
442 testMessageLength(125); 470 testMessageLength(125);
443 testMessageLength(126); 471 testMessageLength(126);
444 testMessageLength(127); 472 testMessageLength(127);
445 testMessageLength(65535); 473 testMessageLength(65535);
446 testMessageLength(65536); 474 testMessageLength(65536);
447 testDoubleCloseClient(); 475 testDoubleCloseClient();
448 testDoubleCloseServer(); 476 testDoubleCloseServer();
449 testImmediateCloseServer(); 477 testImmediateCloseServer();
450 testImmediateCloseClient(); 478 testImmediateCloseClient();
451 testNoUpgrade(); 479 testNoUpgrade();
452 testUsePOST(); 480 testUsePOST();
453 testConnections(10, 3002, "Got tired"); 481 testConnections(10, 3002, "Got tired");
454 testIndividualUpgrade(5); 482 testIndividualUpgrade(5);
455 testFromUpgradedSocket(); 483 testFromUpgradedSocket();
484 testOnRequest(true);
485 testOnRequest(false);
456 } 486 }
457 } 487 }
458 488
459 489
460 void initializeSSL() { 490 void initializeSSL() {
461 var testPkcertDatabase = Platform.script.resolve('pkcert').toFilePath(); 491 var testPkcertDatabase = Platform.script.resolve('pkcert').toFilePath();
462 SecureSocket.initialize(database: testPkcertDatabase, 492 SecureSocket.initialize(database: testPkcertDatabase,
463 password: "dartdart"); 493 password: "dartdart");
464 } 494 }
465 495
466 496
467 main() { 497 main() {
468 new SecurityConfiguration(secure: false).runTests(); 498 new SecurityConfiguration(secure: false).runTests();
469 initializeSSL(); 499 initializeSSL();
470 new SecurityConfiguration(secure: true).runTests(); 500 new SecurityConfiguration(secure: true).runTests();
471 } 501 }
OLDNEW
« sdk/lib/io/websocket_impl.dart ('K') | « sdk/lib/io/websocket_impl.dart ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698