Browse Source

refactor authenticators

pull/432/head
Darien Raymond 8 years ago
parent
commit
2d83e260ac
No known key found for this signature in database
GPG Key ID: 7251FFA14BB18169
  1. 28
      transport/internet/conn_authenticator.go
  2. 23
      transport/internet/header.go

28
transport/internet/conn_authenticator.go

@ -1,28 +0,0 @@
package internet
import (
"errors"
"net"
"context"
"v2ray.com/core/common"
)
type ConnectionAuthenticator interface {
Client(net.Conn) net.Conn
Server(net.Conn) net.Conn
}
func CreateConnectionAuthenticator(config interface{}) (ConnectionAuthenticator, error) {
auth, err := common.CreateObject(context.Background(), config)
if err != nil {
return nil, err
}
switch a := auth.(type) {
case ConnectionAuthenticator:
return a, nil
default:
return nil, errors.New("Internet: Not a ConnectionAuthenticator.")
}
}

23
transport/internet/header.go

@ -3,6 +3,7 @@ package internet
import (
"context"
"errors"
"net"
"v2ray.com/core/common"
)
@ -17,10 +18,24 @@ func CreatePacketHeader(config interface{}) (PacketHeader, error) {
if err != nil {
return nil, err
}
switch h := header.(type) {
case PacketHeader:
if h, ok := header.(PacketHeader); ok {
return h, nil
default:
return nil, errors.New("Internet: Not a packet header.")
}
return nil, errors.New("Internet: Not a packet header.")
}
type ConnectionAuthenticator interface {
Client(net.Conn) net.Conn
Server(net.Conn) net.Conn
}
func CreateConnectionAuthenticator(config interface{}) (ConnectionAuthenticator, error) {
auth, err := common.CreateObject(context.Background(), config)
if err != nil {
return nil, err
}
if a, ok := auth.(ConnectionAuthenticator); ok {
return a, nil
}
return nil, errors.New("Internet: Not a ConnectionAuthenticator.")
}

Loading…
Cancel
Save