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')
 | 
						|
	})
 | 
						|
}) |