forked from mirrors/gecko-dev
		
	 5b201c8a70
			
		
	
	
		5b201c8a70
		
	
	
	
	
		
			
			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();
 | |
|   }
 | |
| }
 |