OLD | NEW |
---|---|
1 // Copyright (c) 2014, the Dart project authors. Please see the AUTHORS file | 1 // Copyright (c) 2014, 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 library shelf_io_test; | 5 library shelf_io_test; |
6 | 6 |
7 import 'dart:async'; | 7 import 'dart:async'; |
8 import 'dart:convert'; | 8 import 'dart:convert'; |
9 import 'dart:io'; | 9 import 'dart:io'; |
10 | 10 |
(...skipping 111 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
122 | 122 |
123 return _scheduleGet().then((response) { | 123 return _scheduleGet().then((response) { |
124 expect(response.statusCode, 299); | 124 expect(response.statusCode, 299); |
125 expect(response.body, 'Hello from /'); | 125 expect(response.body, 'Hello from /'); |
126 }); | 126 }); |
127 }); | 127 }); |
128 | 128 |
129 test('custom request headers are received by the handler', () { | 129 test('custom request headers are received by the handler', () { |
130 _scheduleServer((request) { | 130 _scheduleServer((request) { |
131 expect(request.headers, containsPair('custom-header', 'client value')); | 131 expect(request.headers, containsPair('custom-header', 'client value')); |
132 | |
133 // dart:io HttpServer splits multi-value headers into an array | |
134 // validate that they are combined correctly | |
135 expect(request.headers, containsPair('multi-header', 'foo,bar,baz')); | |
132 return syncHandler(request); | 136 return syncHandler(request); |
133 }); | 137 }); |
134 | 138 |
135 var headers = { | 139 var headers = { |
136 'custom-header': 'client value' | 140 'custom-header': 'client value', |
141 'multi-header': 'foo,bar,baz' | |
nweiz
2014/04/08 20:23:09
Does dart:io really split comma-separated header v
kevmoo
2014/04/08 21:41:13
HttpHeaders stores values in a List. shelf_io does
| |
137 }; | 142 }; |
138 | 143 |
139 return _scheduleGet(headers: headers).then((response) { | 144 return _scheduleGet(headers: headers).then((response) { |
140 expect(response.statusCode, HttpStatus.OK); | 145 expect(response.statusCode, HttpStatus.OK); |
141 expect(response.body, 'Hello from /'); | 146 expect(response.body, 'Hello from /'); |
142 }); | 147 }); |
143 }); | 148 }); |
144 | 149 |
145 test('post with empty content', () { | 150 test('post with empty content', () { |
146 _scheduleServer((request) { | 151 _scheduleServer((request) { |
(...skipping 61 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
208 | 213 |
209 var request = new http.Request('POST', | 214 var request = new http.Request('POST', |
210 Uri.parse('http://localhost:$_serverPort/')); | 215 Uri.parse('http://localhost:$_serverPort/')); |
211 | 216 |
212 if (headers != null) request.headers.addAll(headers); | 217 if (headers != null) request.headers.addAll(headers); |
213 if (body != null) request.body = body; | 218 if (body != null) request.body = body; |
214 | 219 |
215 return request.send(); | 220 return request.send(); |
216 }); | 221 }); |
217 } | 222 } |
OLD | NEW |