blob: 43eaa17742fe23c2c1d869eac9d9ffde9a9c1d5f [file] [log] [blame]
<html>
<link rel="import" href="../resources/chai.html" />
<link rel="import" href="../resources/mocha.html" />
<link rel="import" href="/mojo/public/html/core.html" as="core" />
<link rel="import" href="/mojo/public/html/connection.html" as="connection" />
<link rel="import" href="/mojo/services/public/interfaces/network/network_service.mojom.html" as="net" />
<link rel="import" href="/mojo/services/public/interfaces/network/url_loader.mojom.html" as="loader" />
<script>
describe('Mojo network_service', function() {
this.enableTimeouts(false);
it('should be able to fetch text files', function(done) {
var netServiceHandle = internals.connectToService(
"mojo://network_service//", "mojo::NetworkService");
var netConnection = new connection.Connection(
netServiceHandle,
net.NetworkService.stubClass,
net.NetworkService.proxyClass);
var urlLoaderPipe = new core.createMessagePipe();
netConnection.remote.createURLLoader(urlLoaderPipe.handle1);
var urlLoaderConnection = new connection.Connection(
urlLoaderPipe.handle0,
loader.URLLoader.stubClass,
loader.URLLoader.proxyClass);
var urlRequest = new loader.URLRequest();
urlRequest.url = "http://127.0.0.1:8000/services/resources/pass.txt";
urlRequest.method = "GET";
urlRequest.auto_follow_redirects = true;
var urlRequestPromise = urlLoaderConnection.remote.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>