| OLD | NEW |
| 1 #!mojo mojo:sky_viewer | 1 #!mojo mojo:sky_viewer |
| 2 <sky> | 2 <sky> |
| 3 <script> | 3 <script> |
| 4 import '/sky/framework/embedder.dart'; | 4 import '/sky/framework/embedder.dart'; |
| 5 import 'dart:async'; | 5 import 'dart:async'; |
| 6 import 'dart:typed_data'; | 6 import 'dart:typed_data'; |
| 7 import "dart:sky.internals" as internals; | 7 import "dart:sky.internals" as internals; |
| 8 import 'mojo:bindings'; | 8 import 'mojo:bindings'; |
| 9 import 'mojo:core'; | 9 import 'mojo:core'; |
| 10 | 10 |
| 11 import 'package:mojo/services/network/public/interfaces/network_service.mojom.da
rt'; | 11 import 'package:mojo/services/network/public/interfaces/network_service.mojom.da
rt'; |
| 12 import 'package:mojo/services/network/public/interfaces/url_loader.mojom.dart'; | 12 import 'package:mojo/services/network/public/interfaces/url_loader.mojom.dart'; |
| 13 | 13 |
| 14 Future<String> run(url) async { | 14 Future<String> run(url) async { |
| 15 var networkService = new NetworkServiceProxy.unbound(); | 15 var networkService = new NetworkServiceProxy.unbound(); |
| 16 embedder.connectToService("mojo:network_service", networkService); | 16 embedder.connectToService( |
| 17 "mojo:network_service", NetworkServiceRequest(networkService)); |
| 17 | 18 |
| 18 var urlLoaderProxy = new UrlLoaderProxy.unbound(); | 19 var urlLoaderProxy = new UrlLoaderProxy.unbound(); |
| 19 networkService.createUrlLoader(urlLoaderProxy); | 20 networkService.createUrlLoader(UrlLoaderRequest(urlLoaderProxy)); |
| 20 | 21 |
| 21 var urlRequest = new UrlRequest() | 22 var urlRequest = new UrlRequest() |
| 22 ..url = url | 23 ..url = url |
| 23 ..autoFollowRedirects = true; | 24 ..autoFollowRedirects = true; |
| 24 var urlResponse = await urlLoaderProxy.start(urlRequest); | 25 var urlResponse = await urlLoaderProxy.start(urlRequest); |
| 25 | 26 |
| 26 urlLoaderProxy.close(); | 27 UrlLoaderProxyClose(urlLoaderProxy); |
| 27 networkService.close(); | 28 NetworkServiceProxyClose(networkService); |
| 28 | 29 |
| 29 print("url => ${urlResponse.response.url}"); | 30 print("url => ${urlResponse.response.url}"); |
| 30 print("status_line => ${urlResponse.response.statusLine}"); | 31 print("status_line => ${urlResponse.response.statusLine}"); |
| 31 print("mime_type => ${urlResponse.response.mimeType}"); | 32 print("mime_type => ${urlResponse.response.mimeType}"); |
| 32 | 33 |
| 33 ByteData bodyData = | 34 ByteData bodyData = |
| 34 await DataPipeDrainer.drainHandle(urlResponse.response.body); | 35 await DataPipeDrainer.drainHandle(urlResponse.response.body); |
| 35 print("read ${bodyData.lengthInBytes} bytes"); | 36 print("read ${bodyData.lengthInBytes} bytes"); |
| 36 | 37 |
| 37 return new String.fromCharCodes(new Uint8List.view(bodyData.buffer)); | 38 return new String.fromCharCodes(new Uint8List.view(bodyData.buffer)); |
| 38 } | 39 } |
| 39 | 40 |
| 40 main() async { | 41 main() async { |
| 41 var url = "http://127.0.0.1:8000/sky/tests/services/resources/pass.txt"; | 42 var url = "http://127.0.0.1:8000/sky/tests/services/resources/pass.txt"; |
| 42 var result = await run(url); | 43 var result = await run(url); |
| 43 internals.notifyTestComplete(result); | 44 internals.notifyTestComplete(result); |
| 44 } | 45 } |
| 45 </script> | 46 </script> |
| 46 </sky> | 47 </sky> |
| OLD | NEW |