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