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 networkServiceProxy = new NetworkServiceProxy.unbound(); |
16 embedder.connectToService("mojo:network_service", networkService); | 16 var networkService = networkServiceProxy.interface; |
| 17 embedder.connectToService("mojo:network_service", networkServiceProxy); |
17 | 18 |
18 var urlLoaderProxy = new UrlLoaderProxy.unbound(); | 19 var urlLoaderProxy = new UrlLoaderProxy.unbound(); |
| 20 var urlLoader = urlLoaderProxy.interface; |
19 networkService.createUrlLoader(urlLoaderProxy); | 21 networkService.createUrlLoader(urlLoaderProxy); |
20 | 22 |
21 var urlRequest = new UrlRequest() | 23 var urlRequest = new UrlRequest() |
22 ..url = url | 24 ..url = url |
23 ..autoFollowRedirects = true; | 25 ..autoFollowRedirects = true; |
24 var urlResponse = await urlLoaderProxy.start(urlRequest); | 26 var urlResponse = await urlLoader.start(urlRequest); |
25 | 27 |
26 urlLoaderProxy.close(); | 28 urlLoaderProxy.impl.close(); |
27 networkService.close(); | 29 networkServiceProxy.impl.close(); |
28 | 30 |
29 print("url => ${urlResponse.response.url}"); | 31 print("url => ${urlResponse.response.url}"); |
30 print("status_line => ${urlResponse.response.statusLine}"); | 32 print("status_line => ${urlResponse.response.statusLine}"); |
31 print("mime_type => ${urlResponse.response.mimeType}"); | 33 print("mime_type => ${urlResponse.response.mimeType}"); |
32 | 34 |
33 ByteData bodyData = | 35 ByteData bodyData = |
34 await DataPipeDrainer.drainHandle(urlResponse.response.body); | 36 await DataPipeDrainer.drainHandle(urlResponse.response.body); |
35 print("read ${bodyData.lengthInBytes} bytes"); | 37 print("read ${bodyData.lengthInBytes} bytes"); |
36 | 38 |
37 return new String.fromCharCodes(new Uint8List.view(bodyData.buffer)); | 39 return new String.fromCharCodes(new Uint8List.view(bodyData.buffer)); |
38 } | 40 } |
39 | 41 |
40 main() async { | 42 main() async { |
41 var url = "http://127.0.0.1:8000/sky/tests/services/resources/pass.txt"; | 43 var url = "http://127.0.0.1:8000/sky/tests/services/resources/pass.txt"; |
42 var result = await run(url); | 44 var result = await run(url); |
43 internals.notifyTestComplete(result); | 45 internals.notifyTestComplete(result); |
44 } | 46 } |
45 </script> | 47 </script> |
46 </sky> | 48 </sky> |
OLD | NEW |