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

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

Issue 11411121: Generate an error for active connections when the HTTP client is shutdown (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Fixed long line Created 8 years, 1 month 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) 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("dart:io"); 5 #import("dart:io");
6 6
7 const SESSION_ID = "DARTSESSID"; 7 const SESSION_ID = "DARTSESSID";
8 8
9 String getSessionId(List<Cookie> cookies) { 9 String getSessionId(List<Cookie> cookies) {
10 var id = cookies.reduce(null, (last, cookie) { 10 var id = cookies.reduce(null, (last, cookie) {
(...skipping 12 matching lines...) Expand all
23 var c = new Completer(); 23 var c = new Completer();
24 var client = new HttpClient(); 24 var client = new HttpClient();
25 var conn = client.get("127.0.0.1", port, "/"); 25 var conn = client.get("127.0.0.1", port, "/");
26 conn.onRequest = (request) { 26 conn.onRequest = (request) {
27 if (session != null) { 27 if (session != null) {
28 request.cookies.add(new Cookie(SESSION_ID, session)); 28 request.cookies.add(new Cookie(SESSION_ID, session));
29 } 29 }
30 request.outputStream.close(); 30 request.outputStream.close();
31 }; 31 };
32 conn.onResponse = (response) { 32 conn.onResponse = (response) {
33 client.shutdown(); 33 response.inputStream.onData = response.inputStream.read;
34 c.complete(getSessionId(response.cookies)); 34 response.inputStream.onClosed = () {
35 client.shutdown();
36 c.complete(getSessionId(response.cookies));
37 };
35 }; 38 };
36 return c.future; 39 return c.future;
37 } 40 }
38 41
39 void testSessions(int sessionCount) { 42 void testSessions(int sessionCount) {
40 HttpServer server = new HttpServer(); 43 HttpServer server = new HttpServer();
41 server.listen("127.0.0.1", 0); 44 server.listen("127.0.0.1", 0);
42 var sessions = new Set(); 45 var sessions = new Set();
43 server.defaultRequestHandler = (request, response) { 46 server.defaultRequestHandler = (request, response) {
44 sessions.add(request.session().id); 47 sessions.add(request.session().id);
(...skipping 50 matching lines...) Expand 10 before | Expand all | Expand 10 after
95 server.close(); 98 server.close();
96 }); 99 });
97 }); 100 });
98 }); 101 });
99 } 102 }
100 103
101 void main() { 104 void main() {
102 testSessions(5); 105 testSessions(5);
103 testTimeout(5); 106 testTimeout(5);
104 } 107 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698