43 lines
		
	
	
		
			943 B
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
			
		
		
	
	
			43 lines
		
	
	
		
			943 B
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
| var Buffer = require('buffer').Buffer
 | |
| var fs = require('fs')
 | |
| var test = require('tape')
 | |
| 
 | |
| var http = require('../..')
 | |
| 
 | |
| test('timeout', function (t) {
 | |
| 	var req = http.get({
 | |
| 		path: '/browserify.png?copies=5',
 | |
| 		requestTimeout: 10 // ms
 | |
| 	}, function (res) {
 | |
| 		res.on('data', function (data) {
 | |
| 		})
 | |
| 		res.on('end', function () {
 | |
| 			t.fail('request completed (should have timed out)')
 | |
| 		})
 | |
| 	})
 | |
| 	req.on('requestTimeout', function () {
 | |
| 		t.pass('got timeout')
 | |
| 		t.end()
 | |
| 	})
 | |
| })
 | |
| 
 | |
| // TODO: reenable this if there's a way to make it simultaneously
 | |
| // fast and reliable
 | |
| test.skip('no timeout after success', function (t) {
 | |
| 	var req = http.get({
 | |
| 		path: '/basic.txt',
 | |
| 		requestTimeout: 50000 // ms
 | |
| 	}, function (res) {
 | |
| 		res.on('data', function (data) {
 | |
| 		})
 | |
| 		res.on('end', function () {
 | |
| 			t.pass('success')
 | |
| 			global.setTimeout(function () {
 | |
| 				t.end()
 | |
| 			}, 50000)
 | |
| 		})
 | |
| 	})
 | |
| 	req.on('requestTimeout', function () {
 | |
| 		t.fail('unexpected timeout')
 | |
| 	})
 | |
| }) |