From df5f50682af1c43cea768354af5e89a9f2f5ce8c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=88=98=E7=A5=A5=E8=B6=85?= Date: Sun, 23 May 2021 15:50:21 +0800 Subject: [PATCH] =?UTF-8?q?=E4=B8=8D=E5=86=8D=E6=8F=90=E7=A4=BAhttp2=20Str?= =?UTF-8?q?eam=E7=9B=B8=E5=85=B3=E9=94=99=E8=AF=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- internal/nodes/http_request_cache.go | 21 +++++++++++++++----- internal/nodes/http_request_reverse_proxy.go | 11 +++++++--- 2 files changed, 24 insertions(+), 8 deletions(-) diff --git a/internal/nodes/http_request_cache.go b/internal/nodes/http_request_cache.go index 08a89bb..e616a15 100644 --- a/internal/nodes/http_request_cache.go +++ b/internal/nodes/http_request_cache.go @@ -6,6 +6,7 @@ import ( "github.com/TeaOSLab/EdgeNode/internal/caches" "github.com/TeaOSLab/EdgeNode/internal/remotelogs" "github.com/iwind/TeaGo/logs" + "golang.org/x/net/http2" "net/http" "strconv" ) @@ -89,7 +90,9 @@ func (this *HTTPRequest) doCacheRead() (shouldStop bool) { return } - remotelogs.Error("REQUEST_CACHE", "read from cache failed: "+err.Error()) + if _, ok := err.(http2.StreamError); !ok { + remotelogs.Error("REQUEST_CACHE", "read from cache failed: "+err.Error()) + } return } defer func() { @@ -121,7 +124,9 @@ func (this *HTTPRequest) doCacheRead() (shouldStop bool) { return true, nil }) if err != nil { - remotelogs.Error("REQUEST_CACHE", "read from cache failed: "+err.Error()) + if _, ok := err.(http2.StreamError); !ok { + remotelogs.Error("REQUEST_CACHE", "read from cache failed: "+err.Error()) + } return } @@ -211,7 +216,9 @@ func (this *HTTPRequest) doCacheRead() (shouldStop bool) { this.writer.WriteHeader(http.StatusRequestedRangeNotSatisfiable) return true } - remotelogs.Error("REQUEST_CACHE", "read from cache failed: "+err.Error()) + if _, ok := err.(http2.StreamError); !ok { + remotelogs.Error("REQUEST_CACHE", "read from cache failed: "+err.Error()) + } return } } else if len(rangeSet) > 1 { @@ -252,7 +259,9 @@ func (this *HTTPRequest) doCacheRead() (shouldStop bool) { return true, err }) if err != nil { - remotelogs.Error("REQUEST_CACHE", "read from cache failed: "+err.Error()) + if _, ok := err.(http2.StreamError); !ok { + remotelogs.Error("REQUEST_CACHE", "read from cache failed: "+err.Error()) + } return true } } @@ -273,7 +282,9 @@ func (this *HTTPRequest) doCacheRead() (shouldStop bool) { return true, nil }) if err != nil { - remotelogs.Error("REQUEST_CACHE", "read from cache failed: "+err.Error()) + if _, ok := err.(http2.StreamError); !ok { + remotelogs.Error("REQUEST_CACHE", "read from cache failed: "+err.Error()) + } return } } diff --git a/internal/nodes/http_request_reverse_proxy.go b/internal/nodes/http_request_reverse_proxy.go index 5fce959..e6658da 100644 --- a/internal/nodes/http_request_reverse_proxy.go +++ b/internal/nodes/http_request_reverse_proxy.go @@ -7,6 +7,7 @@ import ( "github.com/TeaOSLab/EdgeCommon/pkg/serverconfigs/shared" "github.com/TeaOSLab/EdgeNode/internal/remotelogs" "github.com/TeaOSLab/EdgeNode/internal/utils" + "golang.org/x/net/http2" "io" "net/url" "strconv" @@ -256,11 +257,15 @@ func (this *HTTPRequest) doReverseProxy() { err1 := resp.Body.Close() if err1 != nil { - remotelogs.Error("REQUEST_REVERSE_PROXY", err1.Error()) + if _, ok := err1.(http2.StreamError); !ok { + remotelogs.Error("REQUEST_REVERSE_PROXY", err1.Error()) + } } if err != nil && err != io.EOF { - remotelogs.Error("REQUEST_REVERSE_PROXY", err.Error()) - this.addError(err) + if _, ok := err.(http2.StreamError); !ok { + remotelogs.Error("REQUEST_REVERSE_PROXY", err.Error()) + this.addError(err) + } } }