fix issue #91
This commit is contained in:
parent
d98860877d
commit
26f4e49f05
2
cmd/gost/vendor/github.com/ginuerzh/gost/gost.go
generated
vendored
2
cmd/gost/vendor/github.com/ginuerzh/gost/gost.go
generated
vendored
@ -12,7 +12,7 @@ import (
|
|||||||
)
|
)
|
||||||
|
|
||||||
const (
|
const (
|
||||||
Version = "2.4-dev"
|
Version = "2.4-dev20170303"
|
||||||
)
|
)
|
||||||
|
|
||||||
// Log level for glog
|
// Log level for glog
|
||||||
|
9
cmd/gost/vendor/github.com/ginuerzh/gost/http.go
generated
vendored
9
cmd/gost/vendor/github.com/ginuerzh/gost/http.go
generated
vendored
@ -70,7 +70,7 @@ func (s *HttpServer) HandleRequest(req *http.Request) {
|
|||||||
|
|
||||||
// forward http request
|
// forward http request
|
||||||
lastNode := s.Base.Chain.lastNode
|
lastNode := s.Base.Chain.lastNode
|
||||||
if lastNode != nil && (lastNode.Protocol == "http" || lastNode.Protocol == "") {
|
if lastNode != nil && lastNode.Transport == "" && (lastNode.Protocol == "http" || lastNode.Protocol == "") {
|
||||||
s.forwardRequest(req)
|
s.forwardRequest(req)
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
@ -215,6 +215,7 @@ func (s *Http2Server) HandleRequest(w http.ResponseWriter, req *http.Request) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
req.Header.Del("Proxy-Authorization")
|
req.Header.Del("Proxy-Authorization")
|
||||||
|
req.Header.Del("Proxy-Connection")
|
||||||
|
|
||||||
c, err := s.Base.Chain.Dial(target)
|
c, err := s.Base.Chain.Dial(target)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
@ -242,13 +243,12 @@ func (s *Http2Server) HandleRequest(w http.ResponseWriter, req *http.Request) {
|
|||||||
return
|
return
|
||||||
}
|
}
|
||||||
defer conn.Close()
|
defer conn.Close()
|
||||||
|
glog.V(LINFO).Infof("[http2] %s -> %s : downgrade to HTTP/1.1", req.RemoteAddr, target)
|
||||||
s.Base.transport(conn, c)
|
s.Base.transport(conn, c)
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
errc := make(chan error, 2)
|
errc := make(chan error, 2)
|
||||||
|
|
||||||
go func() {
|
go func() {
|
||||||
_, err := io.Copy(c, req.Body)
|
_, err := io.Copy(c, req.Body)
|
||||||
errc <- err
|
errc <- err
|
||||||
@ -274,7 +274,7 @@ func (s *Http2Server) HandleRequest(w http.ResponseWriter, req *http.Request) {
|
|||||||
|
|
||||||
resp, err := http.ReadResponse(bufio.NewReader(c), req)
|
resp, err := http.ReadResponse(bufio.NewReader(c), req)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
glog.V(LWARNING).Infoln(err)
|
glog.V(LWARNING).Infoln("[http2] %s -> %s : %s", req.RemoteAddr, target, err)
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
defer resp.Body.Close()
|
defer resp.Body.Close()
|
||||||
@ -288,7 +288,6 @@ func (s *Http2Server) HandleRequest(w http.ResponseWriter, req *http.Request) {
|
|||||||
if _, err := io.Copy(flushWriter{w}, resp.Body); err != nil {
|
if _, err := io.Copy(flushWriter{w}, resp.Body); err != nil {
|
||||||
glog.V(LWARNING).Infof("[http2] %s <- %s : %s", req.RemoteAddr, target, err)
|
glog.V(LWARNING).Infof("[http2] %s <- %s : %s", req.RemoteAddr, target, err)
|
||||||
}
|
}
|
||||||
|
|
||||||
glog.V(LINFO).Infof("[http2] %s >-< %s", req.RemoteAddr, target)
|
glog.V(LINFO).Infof("[http2] %s >-< %s", req.RemoteAddr, target)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
6
cmd/gost/vendor/vendor.json
vendored
6
cmd/gost/vendor/vendor.json
vendored
@ -21,10 +21,10 @@
|
|||||||
"revisionTime": "2017-01-19T05:34:58Z"
|
"revisionTime": "2017-01-19T05:34:58Z"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"checksumSHA1": "qaLXKRQRMKw/NZ3fVYln3PahmGU=",
|
"checksumSHA1": "FiAXa5vUbpoqK2lhegpc9lOpumk=",
|
||||||
"path": "github.com/ginuerzh/gost",
|
"path": "github.com/ginuerzh/gost",
|
||||||
"revision": "82925e4ac7c81687fb985c8cdbf0f072b01c3bc6",
|
"revision": "d98860877d6952f26974ebaa044b29af05528f46",
|
||||||
"revisionTime": "2017-03-03T04:48:46Z"
|
"revisionTime": "2017-03-03T07:45:56Z"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"checksumSHA1": "+XIOnTW0rv8Kr/amkXgMraNeUr4=",
|
"checksumSHA1": "+XIOnTW0rv8Kr/amkXgMraNeUr4=",
|
||||||
|
2
gost.go
2
gost.go
@ -12,7 +12,7 @@ import (
|
|||||||
)
|
)
|
||||||
|
|
||||||
const (
|
const (
|
||||||
Version = "2.4-dev"
|
Version = "2.4-dev20170303"
|
||||||
)
|
)
|
||||||
|
|
||||||
// Log level for glog
|
// Log level for glog
|
||||||
|
9
http.go
9
http.go
@ -70,7 +70,7 @@ func (s *HttpServer) HandleRequest(req *http.Request) {
|
|||||||
|
|
||||||
// forward http request
|
// forward http request
|
||||||
lastNode := s.Base.Chain.lastNode
|
lastNode := s.Base.Chain.lastNode
|
||||||
if lastNode != nil && (lastNode.Protocol == "http" || lastNode.Protocol == "") {
|
if lastNode != nil && lastNode.Transport == "" && (lastNode.Protocol == "http" || lastNode.Protocol == "") {
|
||||||
s.forwardRequest(req)
|
s.forwardRequest(req)
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
@ -215,6 +215,7 @@ func (s *Http2Server) HandleRequest(w http.ResponseWriter, req *http.Request) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
req.Header.Del("Proxy-Authorization")
|
req.Header.Del("Proxy-Authorization")
|
||||||
|
req.Header.Del("Proxy-Connection")
|
||||||
|
|
||||||
c, err := s.Base.Chain.Dial(target)
|
c, err := s.Base.Chain.Dial(target)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
@ -242,13 +243,12 @@ func (s *Http2Server) HandleRequest(w http.ResponseWriter, req *http.Request) {
|
|||||||
return
|
return
|
||||||
}
|
}
|
||||||
defer conn.Close()
|
defer conn.Close()
|
||||||
|
glog.V(LINFO).Infof("[http2] %s -> %s : downgrade to HTTP/1.1", req.RemoteAddr, target)
|
||||||
s.Base.transport(conn, c)
|
s.Base.transport(conn, c)
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
errc := make(chan error, 2)
|
errc := make(chan error, 2)
|
||||||
|
|
||||||
go func() {
|
go func() {
|
||||||
_, err := io.Copy(c, req.Body)
|
_, err := io.Copy(c, req.Body)
|
||||||
errc <- err
|
errc <- err
|
||||||
@ -274,7 +274,7 @@ func (s *Http2Server) HandleRequest(w http.ResponseWriter, req *http.Request) {
|
|||||||
|
|
||||||
resp, err := http.ReadResponse(bufio.NewReader(c), req)
|
resp, err := http.ReadResponse(bufio.NewReader(c), req)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
glog.V(LWARNING).Infoln(err)
|
glog.V(LWARNING).Infoln("[http2] %s -> %s : %s", req.RemoteAddr, target, err)
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
defer resp.Body.Close()
|
defer resp.Body.Close()
|
||||||
@ -288,7 +288,6 @@ func (s *Http2Server) HandleRequest(w http.ResponseWriter, req *http.Request) {
|
|||||||
if _, err := io.Copy(flushWriter{w}, resp.Body); err != nil {
|
if _, err := io.Copy(flushWriter{w}, resp.Body); err != nil {
|
||||||
glog.V(LWARNING).Infof("[http2] %s <- %s : %s", req.RemoteAddr, target, err)
|
glog.V(LWARNING).Infof("[http2] %s <- %s : %s", req.RemoteAddr, target, err)
|
||||||
}
|
}
|
||||||
|
|
||||||
glog.V(LINFO).Infof("[http2] %s >-< %s", req.RemoteAddr, target)
|
glog.V(LINFO).Infof("[http2] %s >-< %s", req.RemoteAddr, target)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user