| OLD | NEW | 
|   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 library client_test; |   5 library client_test; | 
|   6  |   6  | 
|   7 import 'dart:io'; |   7 import 'dart:io'; | 
|   8 import 'dart:uri'; |   8 import 'dart:uri'; | 
|   9  |   9  | 
|  10 import 'package:http/http.dart' as http; |  10 import 'package:http/http.dart' as http; | 
| (...skipping 19 matching lines...) Expand all  Loading... | 
|  30         // dart:io internally normalizes outgoing headers so that they never |  30         // dart:io internally normalizes outgoing headers so that they never | 
|  31         // have multiple headers with the same name, so there's no way to test |  31         // have multiple headers with the same name, so there's no way to test | 
|  32         // whether we handle that case correctly. |  32         // whether we handle that case correctly. | 
|  33  |  33  | 
|  34         return response.stream.bytesToString(); |  34         return response.stream.bytesToString(); | 
|  35       }).whenComplete(client.close), completion(parse(equals({ |  35       }).whenComplete(client.close), completion(parse(equals({ | 
|  36         'method': 'POST', |  36         'method': 'POST', | 
|  37         'path': '/', |  37         'path': '/', | 
|  38         'headers': { |  38         'headers': { | 
|  39           'content-type': ['application/json; charset=utf-8'], |  39           'content-type': ['application/json; charset=utf-8'], | 
 |  40           'accept-encoding': ['gzip'], | 
|  40           'transfer-encoding': ['chunked'] |  41           'transfer-encoding': ['chunked'] | 
|  41         }, |  42         }, | 
|  42         'body': '{"hello": "world"}' |  43         'body': '{"hello": "world"}' | 
|  43       })))); |  44       })))); | 
|  44  |  45  | 
|  45       request.sink.add('{"hello": "world"}'.codeUnits); |  46       request.sink.add('{"hello": "world"}'.codeUnits); | 
|  46       request.sink.close(); |  47       request.sink.close(); | 
|  47     }), completes); |  48     }), completes); | 
|  48   }); |  49   }); | 
|  49  |  50  | 
|  50   test('#send with an invalid URL', () { |  51   test('#send with an invalid URL', () { | 
|  51     expect(startServer().then((_) { |  52     expect(startServer().then((_) { | 
|  52       var client = new http.Client(); |  53       var client = new http.Client(); | 
|  53       var url = Uri.parse('http://http.invalid'); |  54       var url = Uri.parse('http://http.invalid'); | 
|  54       var request = new http.StreamedRequest("POST", url); |  55       var request = new http.StreamedRequest("POST", url); | 
|  55       request.headers[HttpHeaders.CONTENT_TYPE] = |  56       request.headers[HttpHeaders.CONTENT_TYPE] = | 
|  56           'application/json; charset=utf-8'; |  57           'application/json; charset=utf-8'; | 
|  57  |  58  | 
|  58       expect(client.send(request), throwsSocketIOException); |  59       expect(client.send(request), throwsSocketIOException); | 
|  59  |  60  | 
|  60       request.sink.add('{"hello": "world"}'.codeUnits); |  61       request.sink.add('{"hello": "world"}'.codeUnits); | 
|  61       request.sink.close(); |  62       request.sink.close(); | 
|  62     }), completes); |  63     }), completes); | 
|  63   }); |  64   }); | 
|  64 } |  65 } | 
| OLD | NEW |