1
0
mirror of https://github.com/v2fly/v2ray-core.git synced 2025-12-30 22:15:27 -05:00

fix usage of ray stream.

This commit is contained in:
Darien Raymond
2016-12-30 00:51:39 +01:00
parent 609dbc1f13
commit f6aa7a0053
9 changed files with 29 additions and 24 deletions

View File

@@ -169,7 +169,7 @@ func (v *Server) handleConnect(request *http.Request, session *proxy.SessionInfo
})
responseDone := signal.ExecuteAsync(func() error {
defer ray.InboundOutput().Release()
defer ray.InboundOutput().ForceClose()
v2writer := buf.NewWriter(writer)
defer v2writer.Release()
@@ -236,9 +236,14 @@ func (v *Server) handlePlainHTTP(request *http.Request, session *proxy.SessionIn
StripHopByHopHeaders(request)
ray := v.packetDispatcher.DispatchToOutbound(session)
input := ray.InboundInput()
output := ray.InboundOutput()
defer input.Close()
defer output.ForceClose()
requestDone := signal.ExecuteAsync(func() error {
defer ray.InboundInput().Close()
defer input.Close()
requestWriter := bufio.NewWriter(buf.NewBytesWriter(ray.InboundInput()))
defer requestWriter.Release()
@@ -254,7 +259,7 @@ func (v *Server) handlePlainHTTP(request *http.Request, session *proxy.SessionIn
})
responseDone := signal.ExecuteAsync(func() error {
defer ray.InboundOutput().Release()
defer output.ForceClose()
responseReader := bufio.OriginalReader(buf.NewBytesReader(ray.InboundOutput()))
response, err := http.ReadResponse(responseReader, request)