| Index: sky/sdk/lib/framework/net/fetch.dart
|
| diff --git a/sky/sdk/lib/framework/net/fetch.dart b/sky/sdk/lib/framework/net/fetch.dart
|
| index 720ac4cbc62f832179fa05b5f88f8a4499705d9f..5872af30db747d28bde0c8764cf8b7e515c4a2ee 100644
|
| --- a/sky/sdk/lib/framework/net/fetch.dart
|
| +++ b/sky/sdk/lib/framework/net/fetch.dart
|
| @@ -9,6 +9,7 @@ import 'package:mojo/core.dart' as core;
|
| import 'package:mojom/mojo/network_service.mojom.dart';
|
| import 'package:mojom/mojo/url_loader.mojom.dart';
|
| import 'package:mojom/mojo/url_request.mojom.dart';
|
| +import 'package:mojom/mojo/url_response.mojom.dart';
|
|
|
| class Response {
|
| ByteData body;
|
| @@ -20,23 +21,30 @@ class Response {
|
| }
|
| }
|
|
|
| -Future<Response> fetch(String relativeUrl) async {
|
| - String url = Uri.base.resolve(relativeUrl).toString();
|
| -
|
| - var net = new NetworkServiceProxy.unbound();
|
| +Future<UrlResponse> fetch(UrlRequest request) async {
|
| + NetworkServiceProxy net = new NetworkServiceProxy.unbound();
|
| shell.requestService("mojo:authenticated_network_service", net);
|
|
|
| - var loader = new UrlLoaderProxy.unbound();
|
| + UrlLoaderProxy loader = new UrlLoaderProxy.unbound();
|
| net.ptr.createUrlLoader(loader);
|
|
|
| - var request = new UrlRequest()
|
| - ..url = url
|
| - ..autoFollowRedirects = true;
|
| - var response = (await loader.ptr.start(request)).response;
|
| + UrlResponse response = (await loader.ptr.start(request)).response;
|
|
|
| loader.close();
|
| net.close();
|
| + return response;
|
| +}
|
| +
|
| +Future<UrlResponse> fetchUrl(String relativeUrl) async {
|
| + String url = Uri.base.resolve(relativeUrl).toString();
|
| + UrlRequest request = new UrlRequest()
|
| + ..url = url
|
| + ..autoFollowRedirects = true;
|
| + return fetch(request);
|
| +}
|
|
|
| +Future<Response> fetchBody(String relativeUrl) async {
|
| + UrlResponse response = await fetchMojo(relativeUrl);
|
| if (response.body == null) return new Response(null);
|
|
|
| ByteData data = await core.DataPipeDrainer.drainHandle(response.body);
|
|
|