Explorar o código

proxy: always set requestClosed flag when client closes the connection prematurely

Wolfgang Ebner %!s(int64=10) %!d(string=hai) anos
pai
achega
a6e6186477
Modificáronse 1 ficheiros con 3 adicións e 2 borrados
  1. 3 2
      proxy/reverse.go

+ 3 - 2
proxy/reverse.go

@@ -98,10 +98,11 @@ func (p *reverseProxy) ServeHTTP(rw http.ResponseWriter, clientreq *http.Request
 		go func() {
 		go func() {
 			select {
 			select {
 			case <-closeNotifier.CloseNotify():
 			case <-closeNotifier.CloseNotify():
+				atomic.StoreInt32(&requestClosed, 1)
+				log.Printf("proxy: client %v closed request prematurely", clientreq.RemoteAddr)
+
 				tp, ok := p.transport.(*http.Transport)
 				tp, ok := p.transport.(*http.Transport)
 				if ok {
 				if ok {
-					atomic.StoreInt32(&requestClosed, 1)
-					log.Printf("proxy: request from %v canceled", clientreq.RemoteAddr)
 					tp.CancelRequest(proxyreq)
 					tp.CancelRequest(proxyreq)
 				}
 				}
 			case <-completeCh:
 			case <-completeCh: