| Index: lib/http.dart
|
| diff --git a/lib/http.dart b/lib/http.dart
|
| index 497e447b739c79933d44b3eaca22071445583f36..9ccd77a6f892f2785133c33b0ee0f25cb08c5a6f 100644
|
| --- a/lib/http.dart
|
| +++ b/lib/http.dart
|
| @@ -161,8 +161,11 @@ Future<String> read(url, {Map<String, String> headers}) =>
|
| Future<Uint8List> readBytes(url, {Map<String, String> headers}) =>
|
| _withClient((client) => client.readBytes(url, headers: headers));
|
|
|
| -Future _withClient(Future fn(Client)) {
|
| +Future/*<T>*/ _withClient/*<T>*/(Future/*<T>*/ fn(Client client)) async {
|
| var client = new Client();
|
| - var future = fn(client);
|
| - return future.whenComplete(client.close);
|
| + try {
|
| + return await fn(client);
|
| + } finally {
|
| + client.close();
|
| + }
|
| }
|
|
|