From: Dan Fuhry Date: Wed, 3 Jun 2026 04:14:17 +0000 (-0400) Subject: [sase] use public NewWebSocketBinaryReadWriter method X-Git-Url: https://go.fuhry.dev/?a=commitdiff_plain;h=0dab722f68bc42fb5aea09af7b9fea51fe0867f0;p=runtime.git [sase] use public NewWebSocketBinaryReadWriter method --- diff --git a/sase/client.go b/sase/client.go index 6ac347f..878d73e 100644 --- a/sase/client.go +++ b/sase/client.go @@ -7,6 +7,7 @@ import ( "net/url" "github.com/gorilla/websocket" + "go.fuhry.dev/runtime/mtls" "go.fuhry.dev/runtime/net" ) @@ -49,5 +50,5 @@ func (c *saseTcpProxyClient) Connect(url *url.URL) (io.ReadWriteCloser, error) { return nil, err } - return newWebSocketBinaryReadWriter(conn) + return NewWebSocketBinaryReadWriter(conn) } diff --git a/sase/read_writer.go b/sase/read_writer.go index 7d2195b..fc0cc8f 100644 --- a/sase/read_writer.go +++ b/sase/read_writer.go @@ -5,6 +5,7 @@ import ( "io" "github.com/gorilla/websocket" + "go.fuhry.dev/runtime/utils/generics" ) @@ -15,7 +16,7 @@ type webSocketBinaryReadWriter struct { curMsg []byte } -func newWebSocketBinaryReadWriter(ws *websocket.Conn) (*webSocketBinaryReadWriter, error) { +func NewWebSocketBinaryReadWriter(ws *websocket.Conn) (io.ReadWriteCloser, error) { return &webSocketBinaryReadWriter{ ws: ws, }, nil diff --git a/sase/ws_proxy.go b/sase/ws_proxy.go index 4ed90d9..bdca9ed 100644 --- a/sase/ws_proxy.go +++ b/sase/ws_proxy.go @@ -10,6 +10,7 @@ import ( "time" "github.com/gorilla/websocket" + rnet "go.fuhry.dev/runtime/net" "go.fuhry.dev/runtime/net/dns" "go.fuhry.dev/runtime/utils/log" @@ -27,9 +28,7 @@ type WebSocketRequest struct { addr []net.Addr } -var ( - pathRegexp *regexp.Regexp -) +var pathRegexp *regexp.Regexp var upgrader = &websocket.Upgrader{ ReadBufferSize: 1280, @@ -119,7 +118,6 @@ func (wsp *WebSocketProxy) handle(w http.ResponseWriter, r *http.Request) { defer dialCancel() conn, err := rnet.DialHappyEyeballs(dialCtx, wsReq.addr, wsReq.port) - if err != nil { wsp.replyBadGateway(w, err.Error()) return @@ -133,7 +131,7 @@ func (wsp *WebSocketProxy) handle(w http.ResponseWriter, r *http.Request) { return } - wsReadWriter, err := newWebSocketBinaryReadWriter(ws) + wsReadWriter, err := NewWebSocketBinaryReadWriter(ws) if err != nil { wsp.replyServerError(w, err.Error()) return