blob: 2d2c7c8e5e0f5a2ead641a2f1237a82a7bd9f3cf [file] [log] [blame]
<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>