mirror of
https://github.com/mozilla/gecko-dev.git
synced 2025-11-09 04:39:03 +02:00
a test for 1124717 ran into
https://github.com/molnarg/node-http2/issues/89 which is fixed in this update
41 lines
1.2 KiB
JavaScript
41 lines
1.2 KiB
JavaScript
var fs = require('fs');
|
|
var path = require('path');
|
|
var http2 = require('..');
|
|
|
|
// Setting the global logger (optional)
|
|
http2.globalAgent = new http2.Agent({
|
|
log: require('../test/util').createLogger('client')
|
|
});
|
|
|
|
// We use self signed certs in the example code so we ignore cert errors
|
|
process.env.NODE_TLS_REJECT_UNAUTHORIZED = "0";
|
|
|
|
// Sending the request
|
|
var url = process.argv.pop();
|
|
var request = process.env.HTTP2_PLAIN ? http2.raw.get(url) : http2.get(url);
|
|
|
|
// Receiving the response
|
|
request.on('response', function(response) {
|
|
response.pipe(process.stdout);
|
|
response.on('end', finish);
|
|
});
|
|
|
|
// Receiving push streams
|
|
request.on('push', function(pushRequest) {
|
|
var filename = path.join(__dirname, '/push-' + push_count);
|
|
push_count += 1;
|
|
console.error('Receiving pushed resource: ' + pushRequest.url + ' -> ' + filename);
|
|
pushRequest.on('response', function(pushResponse) {
|
|
pushResponse.pipe(fs.createWriteStream(filename)).on('finish', finish);
|
|
});
|
|
});
|
|
|
|
// Quitting after both the response and the associated pushed resources have arrived
|
|
var push_count = 0;
|
|
var finished = 0;
|
|
function finish() {
|
|
finished += 1;
|
|
if (finished === (1 + push_count)) {
|
|
process.exit();
|
|
}
|
|
}
|