Use non-pointer receiver instead

This commit is contained in:
Andy Wang 2019-09-02 14:04:52 +01:00
parent 98b77afb91
commit e2d4ab7376
2 changed files with 9 additions and 7 deletions

View File

@ -80,7 +80,7 @@ func PrepareConnection(firstPacket []byte, sta *State, conn net.Conn) (info Clie
var ai authenticationInfo var ai authenticationInfo
switch firstPacket[0] { switch firstPacket[0] {
case 0x47: case 0x47:
transport = &WebSocket{} transport = WebSocket{}
var req *http.Request var req *http.Request
req, err = http.ReadRequest(bufio.NewReader(bytes.NewBuffer(firstPacket))) req, err = http.ReadRequest(bufio.NewReader(bytes.NewBuffer(firstPacket)))
if err != nil { if err != nil {
@ -122,7 +122,7 @@ func PrepareConnection(firstPacket []byte, sta *State, conn net.Conn) (info Clie
return return
} }
case 0x16: case 0x16:
transport = &TLS{} transport = TLS{}
var ch *ClientHello var ch *ClientHello
ch, err = parseClientHello(firstPacket) ch, err = parseClientHello(firstPacket)
if err != nil { if err != nil {
@ -165,7 +165,7 @@ func PrepareConnection(firstPacket []byte, sta *State, conn net.Conn) (info Clie
info, err = touchStone(ai, sta.Now) info, err = touchStone(ai, sta.Now)
if err != nil { if err != nil {
log.Debug(err) log.Debug(err)
err = fmt.Errorf("transport %v in correct format but not Cloak: %v", err) err = fmt.Errorf("transport %v in correct format but not Cloak: %v", transport, err)
return return
} }
info.Transport = transport info.Transport = transport

View File

@ -12,10 +12,12 @@ type Transport interface {
type TLS struct{} type TLS struct{}
func (*TLS) HasRecordLayer() bool { return true } func (TLS) String() string { return "TLS" }
func (*TLS) UnitReadFunc() func(net.Conn, []byte) (int, error) { return util.ReadTLS } func (TLS) HasRecordLayer() bool { return true }
func (TLS) UnitReadFunc() func(net.Conn, []byte) (int, error) { return util.ReadTLS }
type WebSocket struct{} type WebSocket struct{}
func (*WebSocket) HasRecordLayer() bool { return false } func (WebSocket) String() string { return "WebSocket" }
func (*WebSocket) UnitReadFunc() func(net.Conn, []byte) (int, error) { return util.ReadWebSocket } func (WebSocket) HasRecordLayer() bool { return false }
func (WebSocket) UnitReadFunc() func(net.Conn, []byte) (int, error) { return util.ReadWebSocket }