Browse Source

fix lint warnings for websocket

pull/642/merge
Darien Raymond 7 years ago
parent
commit
6dd23b45b0
  1. 20
      transport/internet/websocket/connection.go
  2. 4
      transport/internet/websocket/dialer.go
  3. 7
      transport/internet/websocket/hub.go
  4. 5
      transport/internet/websocket/ws_test.go

20
transport/internet/websocket/connection.go

@ -17,7 +17,7 @@ var (
// connection is a wrapper for net.Conn over WebSocket connection.
type connection struct {
wsc *websocket.Conn
conn *websocket.Conn
reader io.Reader
mergingReader buf.Reader
@ -26,7 +26,7 @@ type connection struct {
func newConnection(conn *websocket.Conn) *connection {
return &connection{
wsc: conn,
conn: conn,
}
}
@ -59,7 +59,7 @@ func (c *connection) getReader() (io.Reader, error) {
return c.reader, nil
}
_, reader, err := c.wsc.NextReader()
_, reader, err := c.conn.NextReader()
if err != nil {
return nil, err
}
@ -69,7 +69,7 @@ func (c *connection) getReader() (io.Reader, error) {
// Write implements io.Writer.
func (c *connection) Write(b []byte) (int, error) {
if err := c.wsc.WriteMessage(websocket.BinaryMessage, b); err != nil {
if err := c.conn.WriteMessage(websocket.BinaryMessage, b); err != nil {
return 0, err
}
return len(b), nil
@ -83,16 +83,16 @@ func (c *connection) WriteMultiBuffer(mb buf.MultiBuffer) error {
}
func (c *connection) Close() error {
c.wsc.WriteControl(websocket.CloseMessage, websocket.FormatCloseMessage(websocket.CloseNormalClosure, ""), time.Now().Add(time.Second*5))
return c.wsc.Close()
c.conn.WriteControl(websocket.CloseMessage, websocket.FormatCloseMessage(websocket.CloseNormalClosure, ""), time.Now().Add(time.Second*5))
return c.conn.Close()
}
func (c *connection) LocalAddr() net.Addr {
return c.wsc.LocalAddr()
return c.conn.LocalAddr()
}
func (c *connection) RemoteAddr() net.Addr {
return c.wsc.RemoteAddr()
return c.conn.RemoteAddr()
}
func (c *connection) SetDeadline(t time.Time) error {
@ -103,9 +103,9 @@ func (c *connection) SetDeadline(t time.Time) error {
}
func (c *connection) SetReadDeadline(t time.Time) error {
return c.wsc.SetReadDeadline(t)
return c.conn.SetReadDeadline(t)
}
func (c *connection) SetWriteDeadline(t time.Time) error {
return c.wsc.SetWriteDeadline(t)
return c.conn.SetWriteDeadline(t)
}

4
transport/internet/websocket/dialer.go

@ -68,7 +68,5 @@ func dialWebsocket(ctx context.Context, dest net.Destination) (net.Conn, error)
return nil, newError("failed to dial to (", uri, "): ", reason).Base(err)
}
return &connection{
wsc: conn,
}, nil
return newConnection(conn), nil
}

7
transport/internet/websocket/hub.go

@ -90,19 +90,24 @@ func (ln *Listener) listenws(address net.Address, port net.Port) error {
ln.listener = listener
go func() {
http.Serve(listener, &requestHandler{
err := http.Serve(listener, &requestHandler{
path: ln.config.GetNormailzedPath(),
ln: ln,
})
if err != nil {
log.Trace(newError("failed to serve http for WebSocket").Base(err).AtWarning())
}
}()
return nil
}
// Addr implements net.Listener.Addr().
func (ln *Listener) Addr() net.Addr {
return ln.listener.Addr()
}
// Close implements net.Listener.Close().
func (ln *Listener) Close() error {
return ln.listener.Close()
}

5
transport/internet/websocket/ws_test.go

@ -6,6 +6,7 @@ import (
"testing"
"time"
"v2ray.com/core/common"
"v2ray.com/core/common/net"
"v2ray.com/core/testing/assert"
tlsgen "v2ray.com/core/testing/tls"
@ -88,7 +89,7 @@ func Test_listenWSAndDial_TLS(t *testing.T) {
})
listen, err := ListenWS(ctx, net.DomainAddress("localhost"), 13143, func(ctx context.Context, conn internet.Connection) bool {
go func() {
conn.Close()
common.Must(conn.Close())
}()
return true
})
@ -97,5 +98,5 @@ func Test_listenWSAndDial_TLS(t *testing.T) {
conn, err := Dial(ctx, net.TCPDestination(net.DomainAddress("localhost"), 13143))
assert.Error(err).IsNil()
conn.Close()
common.Must(conn.Close())
}

Loading…
Cancel
Save