|  | @@ -8,6 +8,7 @@ import (
 | 
	
		
			
				|  |  |  	"net/http"
 | 
	
		
			
				|  |  |  	"net/url"
 | 
	
		
			
				|  |  |  	"testing"
 | 
	
		
			
				|  |  | +	"time"
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  	"v2ray.com/core/common"
 | 
	
		
			
				|  |  |  	"v2ray.com/core/common/buf"
 | 
	
	
		
			
				|  | @@ -16,7 +17,6 @@ import (
 | 
	
		
			
				|  |  |  	"v2ray.com/core/app/proxyman"
 | 
	
		
			
				|  |  |  	"v2ray.com/core/common/net"
 | 
	
		
			
				|  |  |  	"v2ray.com/core/common/serial"
 | 
	
		
			
				|  |  | -	"v2ray.com/core/proxy/blackhole"
 | 
	
		
			
				|  |  |  	"v2ray.com/core/proxy/freedom"
 | 
	
		
			
				|  |  |  	v2http "v2ray.com/core/proxy/http"
 | 
	
		
			
				|  |  |  	v2httptest "v2ray.com/core/testing/servers/http"
 | 
	
	
		
			
				|  | @@ -84,6 +84,19 @@ func TestHttpConformance(t *testing.T) {
 | 
	
		
			
				|  |  |  func TestHttpError(t *testing.T) {
 | 
	
		
			
				|  |  |  	assert := With(t)
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | +	tcpServer := tcp.Server{
 | 
	
		
			
				|  |  | +		MsgProcessor: func(msg []byte) []byte {
 | 
	
		
			
				|  |  | +			return []byte{}
 | 
	
		
			
				|  |  | +		},
 | 
	
		
			
				|  |  | +	}
 | 
	
		
			
				|  |  | +	dest, err := tcpServer.Start()
 | 
	
		
			
				|  |  | +	assert(err, IsNil)
 | 
	
		
			
				|  |  | +	defer tcpServer.Close()
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +	time.AfterFunc(time.Second*2, func() {
 | 
	
		
			
				|  |  | +		tcpServer.ShouldClose = true
 | 
	
		
			
				|  |  | +	})
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  |  	serverPort := tcp.PickPort()
 | 
	
		
			
				|  |  |  	serverConfig := &core.Config{
 | 
	
		
			
				|  |  |  		Inbound: []*core.InboundHandlerConfig{
 | 
	
	
		
			
				|  | @@ -97,7 +110,7 @@ func TestHttpError(t *testing.T) {
 | 
	
		
			
				|  |  |  		},
 | 
	
		
			
				|  |  |  		Outbound: []*core.OutboundHandlerConfig{
 | 
	
		
			
				|  |  |  			{
 | 
	
		
			
				|  |  | -				ProxySettings: serial.ToTypedMessage(&blackhole.Config{}),
 | 
	
		
			
				|  |  | +				ProxySettings: serial.ToTypedMessage(&freedom.Config{}),
 | 
	
		
			
				|  |  |  			},
 | 
	
		
			
				|  |  |  		},
 | 
	
		
			
				|  |  |  	}
 | 
	
	
		
			
				|  | @@ -116,7 +129,7 @@ func TestHttpError(t *testing.T) {
 | 
	
		
			
				|  |  |  			Transport: transport,
 | 
	
		
			
				|  |  |  		}
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -		resp, err := client.Get("http://127.0.0.1:80")
 | 
	
		
			
				|  |  | +		resp, err := client.Get("http://127.0.0.1:" + dest.Port.String())
 | 
	
		
			
				|  |  |  		assert(err, IsNil)
 | 
	
		
			
				|  |  |  		assert(resp.StatusCode, Equals, 503)
 | 
	
		
			
				|  |  |  	}
 |