diff --git a/app/router/router.go b/app/router/router.go index 9160c207..b28fbd12 100644 --- a/app/router/router.go +++ b/app/router/router.go @@ -115,8 +115,6 @@ func (Router) Interface() interface{} { return (*Router)(nil) } -type RouterFactory struct{} - func FromSpace(space app.Space) *Router { app := space.GetApplication((*Router)(nil)) if app == nil { diff --git a/transport/internet/headers/http/http.go b/transport/internet/headers/http/http.go index 6d86965f..e6b65c15 100644 --- a/transport/internet/headers/http/http.go +++ b/transport/internet/headers/http/http.go @@ -13,7 +13,6 @@ import ( "v2ray.com/core/common" "v2ray.com/core/common/buf" "v2ray.com/core/common/serial" - "v2ray.com/core/transport/internet" ) const ( @@ -259,20 +258,14 @@ func (v HttpAuthenticator) Server(conn net.Conn) net.Conn { })) } -type HttpAuthenticatorFactory struct{} - -func (HttpAuthenticatorFactory) Create(config interface{}) internet.ConnectionAuthenticator { - return HttpAuthenticator{ - config: config.(*Config), - } -} - -func NewHttpAuthenticator(ctx context.Context, config interface{}) (interface{}, error) { +func NewHttpAuthenticator(ctx context.Context, config *Config) (HttpAuthenticator, error) { return HttpAuthenticator{ - config: config.(*Config), + config: config, }, nil } func init() { - common.Must(common.RegisterConfig((*Config)(nil), NewHttpAuthenticator)) + common.Must(common.RegisterConfig((*Config)(nil), func(ctx context.Context, config interface{}) (interface{}, error) { + return NewHttpAuthenticator(ctx, config.(*Config)) + })) } diff --git a/transport/internet/headers/http/http_test.go b/transport/internet/headers/http/http_test.go index 167f2db8..cd1a2789 100644 --- a/transport/internet/headers/http/http_test.go +++ b/transport/internet/headers/http/http_test.go @@ -1,9 +1,9 @@ package http_test import ( + "context" "net" "testing" - "time" "v2ray.com/core/common/buf" @@ -34,8 +34,7 @@ func TestReaderWriter(t *testing.T) { func TestRequestHeader(t *testing.T) { assert := assert.On(t) - factory := HttpAuthenticatorFactory{} - auth := factory.Create(&Config{ + auth, err := NewHttpAuthenticator(context.Background(), &Config{ Request: &RequestConfig{ Uri: []string{"/"}, Header: []*Header{ @@ -45,10 +44,11 @@ func TestRequestHeader(t *testing.T) { }, }, }, - }).(HttpAuthenticator) + }) + assert.Error(err).IsNil() cache := buf.New() - err := auth.GetClientWriter().Write(cache) + err = auth.GetClientWriter().Write(cache) assert.Error(err).IsNil() assert.String(cache.String()).Equals("GET / HTTP/1.1\r\nTest: Value\r\n\r\n") @@ -57,8 +57,8 @@ func TestRequestHeader(t *testing.T) { func TestConnection(t *testing.T) { assert := assert.On(t) - factory := HttpAuthenticatorFactory{} - auth := factory.Create(new(Config)) + auth, err := NewHttpAuthenticator(context.Background(), new(Config)) + assert.Error(err).IsNil() listener, err := net.Listen("tcp", "127.0.0.1:0") assert.Error(err).IsNil()