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("dart:isolate"); | 5 #import("dart:isolate"); |
6 #import("dart:crypto"); | 6 #import("dart:crypto"); |
7 #import("dart:io"); | 7 #import("dart:io"); |
8 #import("dart:uri"); | 8 #import("dart:uri"); |
9 #import("dart:utf"); | 9 #import("dart:utf"); |
10 | 10 |
(...skipping 62 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
73 | 73 |
74 void testUrlUserInfo() { | 74 void testUrlUserInfo() { |
75 Server server = setupServer(); | 75 Server server = setupServer(); |
76 HttpClient client = new HttpClient(); | 76 HttpClient client = new HttpClient(); |
77 | 77 |
78 HttpClientConnection conn = | 78 HttpClientConnection conn = |
79 client.getUrl( | 79 client.getUrl( |
80 new Uri.fromString( | 80 new Uri.fromString( |
81 "http://username:password@127.0.0.1:${server.port}/")); | 81 "http://username:password@127.0.0.1:${server.port}/")); |
82 conn.onResponse = (HttpClientResponse response) { | 82 conn.onResponse = (HttpClientResponse response) { |
83 server.shutdown(); | 83 response.inputStream.onData = response.inputStream.read; |
84 client.shutdown(); | 84 response.inputStream.onClosed = () { |
| 85 server.shutdown(); |
| 86 client.shutdown(); |
| 87 }; |
85 }; | 88 }; |
86 } | 89 } |
87 | 90 |
88 void testBasicNoCredentials() { | 91 void testBasicNoCredentials() { |
89 Server server = setupServer(); | 92 Server server = setupServer(); |
90 HttpClient client = new HttpClient(); | 93 HttpClient client = new HttpClient(); |
91 | 94 |
92 Future makeRequest(Uri url) { | 95 Future makeRequest(Uri url) { |
93 Completer completer = new Completer(); | 96 Completer completer = new Completer(); |
94 HttpClientConnection conn = client.getUrl(url); | 97 HttpClientConnection conn = client.getUrl(url); |
95 conn.onResponse = (HttpClientResponse response) { | 98 conn.onResponse = (HttpClientResponse response) { |
96 Expect.equals(HttpStatus.UNAUTHORIZED, response.statusCode); | 99 Expect.equals(HttpStatus.UNAUTHORIZED, response.statusCode); |
97 completer.complete(null); | 100 response.inputStream.onData = response.inputStream.read; |
| 101 response.inputStream.onClosed = () => completer.complete(null); |
98 }; | 102 }; |
99 return completer.future; | 103 return completer.future; |
100 } | 104 } |
101 | 105 |
102 var futures = []; | 106 var futures = []; |
103 for (int i = 0; i < 5; i++) { | 107 for (int i = 0; i < 5; i++) { |
104 futures.add( | 108 futures.add( |
105 makeRequest( | 109 makeRequest( |
106 new Uri.fromString("http://127.0.0.1:${server.port}/test$i"))); | 110 new Uri.fromString("http://127.0.0.1:${server.port}/test$i"))); |
107 futures.add( | 111 futures.add( |
108 makeRequest( | 112 makeRequest( |
109 new Uri.fromString("http://127.0.0.1:${server.port}/test$i/xxx"))); | 113 new Uri.fromString("http://127.0.0.1:${server.port}/test$i/xxx"))); |
110 } | 114 } |
111 Futures.wait(futures).then((_) { | 115 Futures.wait(futures).then((_) { |
112 server.shutdown(); | 116 server.shutdown(); |
113 client.shutdown(); | 117 client.shutdown(); |
114 }); | 118 }); |
115 } | 119 } |
116 | 120 |
117 void testBasicCredentials() { | 121 void testBasicCredentials() { |
118 Server server = setupServer(); | 122 Server server = setupServer(); |
119 HttpClient client = new HttpClient(); | 123 HttpClient client = new HttpClient(); |
120 | 124 |
121 Future makeRequest(Uri url) { | 125 Future makeRequest(Uri url) { |
122 Completer completer = new Completer(); | 126 Completer completer = new Completer(); |
123 HttpClientConnection conn = client.getUrl(url); | 127 HttpClientConnection conn = client.getUrl(url); |
124 conn.onResponse = (HttpClientResponse response) { | 128 conn.onResponse = (HttpClientResponse response) { |
125 Expect.equals(HttpStatus.OK, response.statusCode); | 129 Expect.equals(HttpStatus.OK, response.statusCode); |
126 completer.complete(null); | 130 response.inputStream.onData = response.inputStream.read; |
| 131 response.inputStream.onClosed = () => completer.complete(null); |
127 }; | 132 }; |
128 return completer.future; | 133 return completer.future; |
129 } | 134 } |
130 | 135 |
131 for (int i = 0; i < 5; i++) { | 136 for (int i = 0; i < 5; i++) { |
132 client.addCredentials( | 137 client.addCredentials( |
133 new Uri.fromString("http://127.0.0.1:${server.port}/test$i"), | 138 new Uri.fromString("http://127.0.0.1:${server.port}/test$i"), |
134 "realm", | 139 "realm", |
135 new HttpClientBasicCredentials("test$i", "test$i")); | 140 new HttpClientBasicCredentials("test$i", "test$i")); |
136 } | 141 } |
(...skipping 31 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
168 completer.complete(true); | 173 completer.complete(true); |
169 }); | 174 }); |
170 return completer.future; | 175 return completer.future; |
171 }; | 176 }; |
172 | 177 |
173 Future makeRequest(Uri url) { | 178 Future makeRequest(Uri url) { |
174 Completer completer = new Completer(); | 179 Completer completer = new Completer(); |
175 HttpClientConnection conn = client.getUrl(url); | 180 HttpClientConnection conn = client.getUrl(url); |
176 conn.onResponse = (HttpClientResponse response) { | 181 conn.onResponse = (HttpClientResponse response) { |
177 Expect.equals(HttpStatus.OK, response.statusCode); | 182 Expect.equals(HttpStatus.OK, response.statusCode); |
178 completer.complete(null); | 183 response.inputStream.onData = response.inputStream.read; |
| 184 response.inputStream.onClosed = () => completer.complete(null); |
179 }; | 185 }; |
180 return completer.future; | 186 return completer.future; |
181 } | 187 } |
182 | 188 |
183 List<Future> makeRequests() { | 189 List<Future> makeRequests() { |
184 var futures = []; | 190 var futures = []; |
185 for (int i = 0; i < 5; i++) { | 191 for (int i = 0; i < 5; i++) { |
186 futures.add( | 192 futures.add( |
187 makeRequest( | 193 makeRequest( |
188 new Uri.fromString("http://127.0.0.1:${server.port}/test$i"))); | 194 new Uri.fromString("http://127.0.0.1:${server.port}/test$i"))); |
(...skipping 66 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
255 main() { | 261 main() { |
256 testUrlUserInfo(); | 262 testUrlUserInfo(); |
257 testBasicNoCredentials(); | 263 testBasicNoCredentials(); |
258 testBasicCredentials(); | 264 testBasicCredentials(); |
259 testBasicAuthenticateCallback(); | 265 testBasicAuthenticateCallback(); |
260 // These teste are not normally run. They can be used for locally | 266 // These teste are not normally run. They can be used for locally |
261 // testing with another web server (e.g. Apache). | 267 // testing with another web server (e.g. Apache). |
262 //testLocalServerBasic(); | 268 //testLocalServerBasic(); |
263 //testLocalServerDigest(); | 269 //testLocalServerDigest(); |
264 } | 270 } |
OLD | NEW |