fix websocket for forward handler

This commit is contained in:
ginuerzh 2023-10-17 23:25:13 +08:00
parent a9f0dda805
commit 5d57852c8a
2 changed files with 4 additions and 2 deletions

View File

@ -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
}

View File

@ -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
}