From 5d57852c8a21297c13b21fea5f3faae9b1045eb4 Mon Sep 17 00:00:00 2001 From: ginuerzh Date: Tue, 17 Oct 2023 23:25:13 +0800 Subject: [PATCH] fix websocket for forward handler --- handler/forward/local/handler.go | 3 ++- handler/forward/remote/handler.go | 3 ++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/handler/forward/local/handler.go b/handler/forward/local/handler.go index 3e205c8..891829d 100644 --- a/handler/forward/local/handler.go +++ b/handler/forward/local/handler.go @@ -17,6 +17,7 @@ import ( "github.com/go-gost/core/hop" "github.com/go-gost/core/logger" md "github.com/go-gost/core/metadata" + xio "github.com/go-gost/x/internal/io" xnet "github.com/go-gost/x/internal/net" auth_util "github.com/go-gost/x/internal/util/auth" "github.com/go-gost/x/internal/util/forward" @@ -272,7 +273,7 @@ func (h *forwardHandler) handleHTTP(ctx context.Context, rw io.ReadWriter, log l } if req.Header.Get("Upgrade") == "websocket" { - err := xnet.CopyBuffer(cc, br, 8192) + err := xnet.Transport(cc, xio.NewReadWriter(br, rw)) if err == nil { err = io.EOF } diff --git a/handler/forward/remote/handler.go b/handler/forward/remote/handler.go index 84589a2..7c2fe75 100644 --- a/handler/forward/remote/handler.go +++ b/handler/forward/remote/handler.go @@ -19,6 +19,7 @@ import ( "github.com/go-gost/core/logger" mdata "github.com/go-gost/core/metadata" mdutil "github.com/go-gost/core/metadata/util" + xio "github.com/go-gost/x/internal/io" xnet "github.com/go-gost/x/internal/net" "github.com/go-gost/x/internal/net/proxyproto" auth_util "github.com/go-gost/x/internal/util/auth" @@ -277,7 +278,7 @@ func (h *forwardHandler) handleHTTP(ctx context.Context, rw io.ReadWriter, remot } if req.Header.Get("Upgrade") == "websocket" { - err := xnet.CopyBuffer(cc, br, 8192) + err := xnet.Transport(cc, xio.NewReadWriter(br, rw)) if err == nil { err = io.EOF }