|  | <html> | 
|  | <import src="../resources/chai.sky" /> | 
|  | <import src="../resources/mocha.sky" /> | 
|  | <import src="/mojo/public/sky/core.sky" as="core" /> | 
|  | <import src="/mojo/public/sky/connection.sky" as="connection" /> | 
|  | <import src="/mojo/services/network/public/interfaces/network_service.mojom.sky" as="net" /> | 
|  | <import src="/mojo/services/network/public/interfaces/url_loader.mojom.sky" as="loader" /> | 
|  | <import src="/mojo/services/public/sky/application.sky" as="application" /> | 
|  | <script> | 
|  | describe('Mojo network_service', function() { | 
|  | this.enableTimeouts(false); | 
|  |  | 
|  | it('should be able to fetch text files', function(done) { | 
|  | var app = new application.Application(internals.passShellProxyHandle()); | 
|  | var netService = app.shell.connectToService( | 
|  | "mojo:network_service", net.NetworkService); | 
|  |  | 
|  | var urlLoader; | 
|  | netService.createURLLoader(function(urlLoaderProxy) { | 
|  | urlLoader = urlLoaderProxy; | 
|  | }); | 
|  |  | 
|  | var urlRequest = new loader.URLRequest(); | 
|  | urlRequest.url = "http://127.0.0.1:8000/sky/tests/services/resources/pass.txt"; | 
|  | urlRequest.method = "GET"; | 
|  | urlRequest.auto_follow_redirects = true; | 
|  | var urlRequestPromise = urlLoader.start(urlRequest); | 
|  | urlRequestPromise.then(function(result) { | 
|  | console.log("url => " + result.response["url"]); | 
|  | console.log("status_line => " + result.response["status_line"]); | 
|  | console.log("mime_type => " + result.response["mime_type"]); | 
|  | var drainDataPromise = core.drainData(result.response.body); | 
|  | drainDataPromise.then(function(result) { | 
|  | console.log("read " + result.buffer.byteLength + " bytes"); | 
|  | done(); | 
|  | }).catch(function() { | 
|  | assert.ok(false, "core.drainData failed"); | 
|  | done(); | 
|  | }); | 
|  | }).catch(function() { | 
|  | assert.ok(false, "start failed"); | 
|  | done(); | 
|  | }); | 
|  | }); | 
|  | }); | 
|  | </script> | 
|  | </html> |