fix pipe close

This commit is contained in:
rui.zheng 2016-10-12 17:41:07 +08:00
parent 659dce0e12
commit 6ca1f4a984
2 changed files with 9 additions and 6 deletions

View File

@ -7,7 +7,7 @@ import (
"github.com/golang/glog"
"golang.org/x/net/http2"
"io"
"io/ioutil"
//"io/ioutil"
"net"
"net/http"
"net/http/httputil"
@ -238,7 +238,7 @@ func (c *ProxyChain) getHttp2Conn(header http.Header) (net.Conn, error) {
Proto: "HTTP/2.0",
ProtoMajor: 2,
ProtoMinor: 0,
Body: ioutil.NopCloser(pr),
Body: pr,
Host: http2Node.Addr,
ContentLength: -1,
}

11
http.go
View File

@ -311,11 +311,14 @@ func (c *http2Conn) Write(b []byte) (n int, err error) {
return c.w.Write(b)
}
func (c *http2Conn) Close() error {
if rc, ok := c.r.(io.ReadCloser); ok {
return rc.Close()
func (c *http2Conn) Close() (err error) {
if rc, ok := c.r.(io.Closer); ok {
err = rc.Close()
}
return nil
if w, ok := c.w.(io.Closer); ok {
err = w.Close()
}
return
}
func (c *http2Conn) LocalAddr() net.Addr {