Skip to content

Commit

Permalink
use protocol in string form
Browse files Browse the repository at this point in the history
  • Loading branch information
DarienRaymond committed Aug 6, 2018
1 parent dc5e4d1 commit b79ec5f
Show file tree
Hide file tree
Showing 22 changed files with 162 additions and 85 deletions.
92 changes: 64 additions & 28 deletions transport/internet/config.go
Original file line number Diff line number Diff line change
Expand Up @@ -5,22 +5,59 @@ import "v2ray.com/core/common/serial"
type ConfigCreator func() interface{}

var (
globalTransportConfigCreatorCache = make(map[TransportProtocol]ConfigCreator)
globalTransportConfigCreatorCache = make(map[string]ConfigCreator)
globalTransportSettings []*TransportConfig
)

const unknownProtocol = "unknown"

func transportProtocolToString(protocol TransportProtocol) string {
switch protocol {
case TransportProtocol_TCP:
return "tcp"
case TransportProtocol_UDP:
return "udp"
case TransportProtocol_HTTP:
return "http"
case TransportProtocol_MKCP:
return "mkcp"
case TransportProtocol_WebSocket:
return "websocket"
case TransportProtocol_DomainSocket:
return "domainsocket"
default:
return unknownProtocol
}
}

func RegisterProtocolConfigCreator(protocol TransportProtocol, creator ConfigCreator) error {
if _, found := globalTransportConfigCreatorCache[protocol]; found {
return newError("protocol ", TransportProtocol_name[int32(protocol)], " is already registered").AtError()
name := transportProtocolToString(protocol)
if name == unknownProtocol {
return newError("protocol ", TransportProtocol_name[int32(protocol)], " is not supported").AtError()
}
globalTransportConfigCreatorCache[protocol] = creator
return RegisterProtocolConfigCreatorByName(name, creator)
}

func RegisterProtocolConfigCreatorByName(name string, creator ConfigCreator) error {
if _, found := globalTransportConfigCreatorCache[name]; found {
return newError("protocol ", name, " is already registered").AtError()
}
globalTransportConfigCreatorCache[name] = creator
return nil
}

func CreateTransportConfig(protocol TransportProtocol) (interface{}, error) {
creator, ok := globalTransportConfigCreatorCache[protocol]
name := transportProtocolToString(protocol)
if name == unknownProtocol {
return nil, newError("protocol ", TransportProtocol_name[int32(protocol)], " is not supported").AtError()
}
return CreateTransportConfigByName(name)
}

func CreateTransportConfigByName(name string) (interface{}, error) {
creator, ok := globalTransportConfigCreatorCache[name]
if !ok {
return nil, newError("unknown transport protocol: ", protocol)
return nil, newError("unknown transport protocol: ", name)
}
return creator(), nil
}
Expand All @@ -29,48 +66,47 @@ func (c *TransportConfig) GetTypedSettings() (interface{}, error) {
return c.Settings.GetInstance()
}

func (c *StreamConfig) GetEffectiveProtocol() TransportProtocol {
if c == nil {
return TransportProtocol_TCP
func (c *TransportConfig) GetUnifiedProtocolName() string {
if len(c.ProtocolName) > 0 {
return c.ProtocolName
}
return c.Protocol
}

func (c *StreamConfig) GetEffectiveTransportSettings() (interface{}, error) {
protocol := c.GetEffectiveProtocol()
return transportProtocolToString(c.Protocol)
}

if c != nil {
for _, settings := range c.TransportSettings {
if settings.Protocol == protocol {
return settings.GetTypedSettings()
}
}
func (c *StreamConfig) GetEffectiveProtocol() string {
if c == nil {
return "tcp"
}

for _, settings := range globalTransportSettings {
if settings.Protocol == protocol {
return settings.GetTypedSettings()
}
if len(c.ProtocolName) > 0 {
return c.ProtocolName
}
return CreateTransportConfig(protocol)

return transportProtocolToString(c.Protocol)
}

func (c *StreamConfig) GetEffectiveTransportSettings() (interface{}, error) {
protocol := c.GetEffectiveProtocol()
return c.GetTransportSettingsFor(protocol)
}

func (c *StreamConfig) GetTransportSettingsFor(protocol TransportProtocol) (interface{}, error) {
func (c *StreamConfig) GetTransportSettingsFor(protocol string) (interface{}, error) {
if c != nil {
for _, settings := range c.TransportSettings {
if settings.Protocol == protocol {
if settings.GetUnifiedProtocolName() == protocol {
return settings.GetTypedSettings()
}
}
}

for _, settings := range globalTransportSettings {
if settings.Protocol == protocol {
if settings.GetUnifiedProtocolName() == protocol {
return settings.GetTypedSettings()
}
}

return CreateTransportConfig(protocol)
return CreateTransportConfigByName(protocol)
}

func (c *StreamConfig) GetEffectiveSecuritySettings() (interface{}, error) {
Expand Down
92 changes: 57 additions & 35 deletions transport/internet/config.pb.go
Original file line number Diff line number Diff line change
Expand Up @@ -48,12 +48,15 @@ func (x TransportProtocol) String() string {
return proto.EnumName(TransportProtocol_name, int32(x))
}
func (TransportProtocol) EnumDescriptor() ([]byte, []int) {
return fileDescriptor_config_027b4c7f353c31be, []int{0}
return fileDescriptor_config_59931ebeb80dc13e, []int{0}
}

type TransportConfig struct {
// Type of network that this settings supports.
// Deprecated. Use the string form below.
Protocol TransportProtocol `protobuf:"varint,1,opt,name=protocol,proto3,enum=v2ray.core.transport.internet.TransportProtocol" json:"protocol,omitempty"`
// Type of network that this settings supports.
ProtocolName string `protobuf:"bytes,3,opt,name=protocol_name,json=protocolName,proto3" json:"protocol_name,omitempty"`
// Specific settings. Must be of the transports.
Settings *serial.TypedMessage `protobuf:"bytes,2,opt,name=settings,proto3" json:"settings,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
Expand All @@ -65,7 +68,7 @@ func (m *TransportConfig) Reset() { *m = TransportConfig{} }
func (m *TransportConfig) String() string { return proto.CompactTextString(m) }
func (*TransportConfig) ProtoMessage() {}
func (*TransportConfig) Descriptor() ([]byte, []int) {
return fileDescriptor_config_027b4c7f353c31be, []int{0}
return fileDescriptor_config_59931ebeb80dc13e, []int{0}
}
func (m *TransportConfig) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_TransportConfig.Unmarshal(m, b)
Expand All @@ -92,6 +95,13 @@ func (m *TransportConfig) GetProtocol() TransportProtocol {
return TransportProtocol_TCP
}

func (m *TransportConfig) GetProtocolName() string {
if m != nil {
return m.ProtocolName
}
return ""
}

func (m *TransportConfig) GetSettings() *serial.TypedMessage {
if m != nil {
return m.Settings
Expand All @@ -100,8 +110,10 @@ func (m *TransportConfig) GetSettings() *serial.TypedMessage {
}

type StreamConfig struct {
// Effective network. Deprecated. Use the string form below.
Protocol TransportProtocol `protobuf:"varint,1,opt,name=protocol,proto3,enum=v2ray.core.transport.internet.TransportProtocol" json:"protocol,omitempty"` // Deprecated: Do not use.
// Effective network.
Protocol TransportProtocol `protobuf:"varint,1,opt,name=protocol,proto3,enum=v2ray.core.transport.internet.TransportProtocol" json:"protocol,omitempty"`
ProtocolName string `protobuf:"bytes,5,opt,name=protocol_name,json=protocolName,proto3" json:"protocol_name,omitempty"`
TransportSettings []*TransportConfig `protobuf:"bytes,2,rep,name=transport_settings,json=transportSettings,proto3" json:"transport_settings,omitempty"`
// Type of security. Must be a message name of the settings proto.
SecurityType string `protobuf:"bytes,3,opt,name=security_type,json=securityType,proto3" json:"security_type,omitempty"`
Expand All @@ -116,7 +128,7 @@ func (m *StreamConfig) Reset() { *m = StreamConfig{} }
func (m *StreamConfig) String() string { return proto.CompactTextString(m) }
func (*StreamConfig) ProtoMessage() {}
func (*StreamConfig) Descriptor() ([]byte, []int) {
return fileDescriptor_config_027b4c7f353c31be, []int{1}
return fileDescriptor_config_59931ebeb80dc13e, []int{1}
}
func (m *StreamConfig) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_StreamConfig.Unmarshal(m, b)
Expand All @@ -136,13 +148,21 @@ func (m *StreamConfig) XXX_DiscardUnknown() {

var xxx_messageInfo_StreamConfig proto.InternalMessageInfo

// Deprecated: Do not use.
func (m *StreamConfig) GetProtocol() TransportProtocol {
if m != nil {
return m.Protocol
}
return TransportProtocol_TCP
}

func (m *StreamConfig) GetProtocolName() string {
if m != nil {
return m.ProtocolName
}
return ""
}

func (m *StreamConfig) GetTransportSettings() []*TransportConfig {
if m != nil {
return m.TransportSettings
Expand Down Expand Up @@ -175,7 +195,7 @@ func (m *ProxyConfig) Reset() { *m = ProxyConfig{} }
func (m *ProxyConfig) String() string { return proto.CompactTextString(m) }
func (*ProxyConfig) ProtoMessage() {}
func (*ProxyConfig) Descriptor() ([]byte, []int) {
return fileDescriptor_config_027b4c7f353c31be, []int{2}
return fileDescriptor_config_59931ebeb80dc13e, []int{2}
}
func (m *ProxyConfig) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_ProxyConfig.Unmarshal(m, b)
Expand Down Expand Up @@ -210,34 +230,36 @@ func init() {
}

func init() {
proto.RegisterFile("v2ray.com/core/transport/internet/config.proto", fileDescriptor_config_027b4c7f353c31be)
}

var fileDescriptor_config_027b4c7f353c31be = []byte{
// 393 bytes of a gzipped FileDescriptorProto
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xb4, 0x91, 0xcf, 0x6a, 0xdb, 0x40,
0x10, 0x87, 0x2b, 0xc9, 0x6d, 0xe5, 0xb1, 0xdd, 0xae, 0xf7, 0x64, 0x0a, 0xa6, 0xae, 0x0b, 0x45,
0xf4, 0xb0, 0x32, 0xea, 0x1b, 0x58, 0x3e, 0xb4, 0xb4, 0xa6, 0x42, 0x52, 0x5b, 0x30, 0x14, 0xb3,
0xde, 0x6c, 0x84, 0x88, 0xa5, 0x35, 0xab, 0x4d, 0x88, 0x9e, 0x27, 0xb7, 0xdc, 0xf3, 0x7e, 0x41,
0xff, 0x16, 0x93, 0x80, 0xf1, 0x25, 0xb7, 0x41, 0xf3, 0x9b, 0x6f, 0x3e, 0xcd, 0x02, 0xb9, 0xf1,
0x24, 0x2d, 0x09, 0x13, 0x99, 0xcb, 0x84, 0xe4, 0xae, 0x92, 0x34, 0x2f, 0x0e, 0x42, 0x2a, 0x37,
0xcd, 0x15, 0x97, 0x39, 0x57, 0x2e, 0x13, 0xf9, 0x65, 0x9a, 0x90, 0x83, 0x14, 0x4a, 0xe0, 0x69,
0x97, 0x97, 0x9c, 0xe8, 0x2c, 0xe9, 0xb2, 0x1f, 0x16, 0x4f, 0x70, 0x4c, 0x64, 0x99, 0xc8, 0xdd,
0x82, 0xcb, 0x94, 0xee, 0x5d, 0x55, 0x1e, 0xf8, 0xc5, 0x36, 0xe3, 0x45, 0x41, 0x13, 0xde, 0x00,
0xe7, 0x77, 0x06, 0xbc, 0x8f, 0x3b, 0x90, 0x5f, 0xaf, 0xc2, 0xbf, 0xc0, 0xae, 0x9b, 0x4c, 0xec,
0x27, 0xc6, 0xcc, 0x70, 0xde, 0x79, 0x0b, 0x72, 0x72, 0x2f, 0xd1, 0x84, 0xa0, 0x9d, 0x0b, 0x35,
0x01, 0x2f, 0xc1, 0x2e, 0xb8, 0x52, 0x69, 0x9e, 0x14, 0x13, 0x73, 0x66, 0x38, 0x03, 0xef, 0xcb,
0x31, 0xad, 0x51, 0x24, 0x8d, 0x22, 0x89, 0x2b, 0xc5, 0x75, 0x63, 0x18, 0xea, 0xb9, 0xf9, 0x83,
0x09, 0xc3, 0x48, 0x49, 0x4e, 0xb3, 0x17, 0x51, 0xfc, 0x0f, 0x58, 0x4f, 0x6c, 0x8f, 0x64, 0x2d,
0x67, 0xe0, 0x91, 0x73, 0xb9, 0x8d, 0x59, 0x38, 0xd6, 0x99, 0xa8, 0x05, 0xe1, 0xcf, 0x30, 0x2a,
0x38, 0xbb, 0x96, 0xa9, 0x2a, 0xb7, 0xd5, 0x1b, 0x4c, 0xac, 0x99, 0xe1, 0xf4, 0xc3, 0x61, 0xf7,
0xb1, 0xfa, 0x69, 0x1c, 0xc1, 0x58, 0x87, 0xb4, 0x42, 0xaf, 0x56, 0x38, 0xf7, 0x5e, 0xa8, 0x03,
0x74, 0x9b, 0xe7, 0x1f, 0x61, 0x10, 0x48, 0x71, 0x5b, 0xb6, 0x57, 0x43, 0x60, 0x29, 0x9a, 0xd4,
0x07, 0xeb, 0x87, 0x55, 0xf9, 0x75, 0x03, 0xe3, 0x67, 0x87, 0xc1, 0x6f, 0xc1, 0x8a, 0xfd, 0x00,
0xbd, 0xaa, 0x8a, 0x3f, 0xab, 0x00, 0x19, 0xd8, 0x86, 0xde, 0xfa, 0xa7, 0x1f, 0x20, 0x13, 0x8f,
0xa0, 0xff, 0x8f, 0xef, 0x22, 0xc1, 0xae, 0xb8, 0x42, 0x56, 0xd5, 0xf8, 0x1e, 0xc7, 0x01, 0xea,
0x61, 0x04, 0xc3, 0x95, 0xc8, 0x68, 0x9a, 0xb7, 0xbd, 0xd7, 0xcb, 0xdf, 0xf0, 0x89, 0x89, 0xec,
0xf4, 0xf9, 0x02, 0x63, 0x63, 0x77, 0xf5, 0xbd, 0x39, 0xfd, 0xeb, 0x85, 0xb4, 0x24, 0x7e, 0x95,
0xd5, 0x5a, 0xe4, 0x47, 0xdb, 0xdf, 0xbd, 0xa9, 0x1f, 0xec, 0xdb, 0x63, 0x00, 0x00, 0x00, 0xff,
0xff, 0xa2, 0xdf, 0xde, 0xa4, 0x35, 0x03, 0x00, 0x00,
proto.RegisterFile("v2ray.com/core/transport/internet/config.proto", fileDescriptor_config_59931ebeb80dc13e)
}

var fileDescriptor_config_59931ebeb80dc13e = []byte{
// 419 bytes of a gzipped FileDescriptorProto
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xa4, 0x91, 0xd1, 0x8a, 0x13, 0x31,
0x14, 0x86, 0xcd, 0x4c, 0x57, 0xdb, 0xd3, 0xae, 0xa6, 0xb9, 0x2a, 0xc2, 0x62, 0xad, 0x20, 0xc5,
0x8b, 0xcc, 0x32, 0xbe, 0x41, 0xbb, 0x17, 0x8a, 0xae, 0x86, 0xe9, 0xa8, 0xb0, 0x20, 0x25, 0x1b,
0x63, 0x19, 0xdc, 0x24, 0x25, 0x13, 0xc5, 0x79, 0x25, 0x9f, 0xc4, 0xa7, 0xf0, 0x59, 0x24, 0x33,
0x93, 0xb0, 0xa8, 0x94, 0x82, 0x77, 0x87, 0x9c, 0x3f, 0xff, 0x39, 0xdf, 0x7f, 0x80, 0x7e, 0xcb,
0x2d, 0x6f, 0xa8, 0x30, 0x2a, 0x13, 0xc6, 0xca, 0xcc, 0x59, 0xae, 0xeb, 0xbd, 0xb1, 0x2e, 0xab,
0xb4, 0x93, 0x56, 0x4b, 0x97, 0x09, 0xa3, 0x3f, 0x57, 0x3b, 0xba, 0xb7, 0xc6, 0x19, 0x72, 0x16,
0xf4, 0x56, 0xd2, 0xa8, 0xa5, 0x41, 0xfb, 0xf0, 0xfc, 0x0f, 0x3b, 0x61, 0x94, 0x32, 0x3a, 0xab,
0xa5, 0xad, 0xf8, 0x4d, 0xe6, 0x9a, 0xbd, 0xfc, 0xb4, 0x55, 0xb2, 0xae, 0xf9, 0x4e, 0x76, 0x86,
0x8b, 0x9f, 0x08, 0x1e, 0x94, 0xc1, 0x68, 0xdd, 0x8e, 0x22, 0xaf, 0x61, 0xd8, 0x36, 0x85, 0xb9,
0x99, 0xa1, 0x39, 0x5a, 0xde, 0xcf, 0xcf, 0xe9, 0xc1, 0xb9, 0x34, 0x3a, 0xb0, 0xfe, 0x5f, 0x11,
0x1d, 0xc8, 0x13, 0x38, 0x0d, 0xf5, 0x56, 0x73, 0x25, 0x67, 0xe9, 0x1c, 0x2d, 0x47, 0xc5, 0x24,
0x3c, 0xbe, 0xe1, 0x4a, 0x92, 0x15, 0x0c, 0x6b, 0xe9, 0x5c, 0xa5, 0x77, 0xf5, 0x2c, 0x99, 0xa3,
0xe5, 0x38, 0x7f, 0x7a, 0x7b, 0x64, 0xc7, 0x41, 0x3b, 0x0e, 0x5a, 0x7a, 0x8e, 0xcb, 0x0e, 0xa3,
0x88, 0xff, 0x16, 0xbf, 0x12, 0x98, 0x6c, 0x9c, 0x95, 0x5c, 0xf5, 0x1c, 0xec, 0xff, 0x39, 0x56,
0xc9, 0x0c, 0x1d, 0x62, 0x39, 0xf9, 0x07, 0xcb, 0x47, 0x20, 0xd1, 0x7a, 0x7b, 0x8b, 0x2a, 0x5d,
0x8e, 0x73, 0x7a, 0xec, 0x02, 0x1d, 0x42, 0x31, 0x8d, 0x9a, 0x4d, 0x6f, 0xe4, 0x77, 0xa8, 0xa5,
0xf8, 0x6a, 0x2b, 0xd7, 0x6c, 0xfd, 0x45, 0x43, 0x9e, 0xe1, 0xd1, 0xa7, 0x43, 0x36, 0x30, 0x8d,
0xa2, 0xb8, 0xc2, 0xa0, 0x5d, 0xe1, 0xd8, 0x60, 0x71, 0x30, 0x08, 0x93, 0x17, 0x8f, 0x60, 0xcc,
0xac, 0xf9, 0xde, 0xf4, 0xf1, 0x62, 0x48, 0x1d, 0xdf, 0xb5, 0xc9, 0x8e, 0x0a, 0x5f, 0x3e, 0xbb,
0x82, 0xe9, 0x5f, 0x09, 0x92, 0x7b, 0x90, 0x96, 0x6b, 0x86, 0xef, 0xf8, 0xe2, 0xdd, 0x05, 0xc3,
0x88, 0x0c, 0x61, 0x70, 0xf9, 0x6a, 0xcd, 0x70, 0x42, 0x4e, 0x61, 0xf4, 0x41, 0x5e, 0x6f, 0x8c,
0xf8, 0x22, 0x1d, 0x4e, 0x7d, 0xe3, 0x45, 0x59, 0x32, 0x3c, 0x20, 0x18, 0x26, 0x17, 0x46, 0xf1,
0x4a, 0xf7, 0xbd, 0x93, 0xd5, 0x5b, 0x78, 0x2c, 0x8c, 0x3a, 0x1c, 0x1f, 0x43, 0x57, 0xc3, 0x50,
0xff, 0x48, 0xce, 0xde, 0xe7, 0x05, 0x6f, 0xe8, 0xda, 0x6b, 0xe3, 0x5a, 0xf4, 0x65, 0xdf, 0xbf,
0xbe, 0xdb, 0x1e, 0xed, 0xf9, 0xef, 0x00, 0x00, 0x00, 0xff, 0xff, 0x1c, 0x47, 0x39, 0x56, 0x83,
0x03, 0x00, 0x00,
}
9 changes: 8 additions & 1 deletion transport/internet/config.proto
Original file line number Diff line number Diff line change
Expand Up @@ -19,15 +19,22 @@ enum TransportProtocol {

message TransportConfig {
// Type of network that this settings supports.
// Deprecated. Use the string form below.
TransportProtocol protocol = 1;

// Type of network that this settings supports.
string protocol_name = 3;

// Specific settings. Must be of the transports.
v2ray.core.common.serial.TypedMessage settings = 2;
}

message StreamConfig {
// Effective network. Deprecated. Use the string form below.
TransportProtocol protocol = 1 [deprecated = true];

// Effective network.
TransportProtocol protocol = 1;
string protocol_name = 5;

repeated TransportConfig transport_settings = 2;

Expand Down
6 changes: 3 additions & 3 deletions transport/internet/dialer.go
Original file line number Diff line number Diff line change
Expand Up @@ -9,10 +9,10 @@ import (
type Dialer func(ctx context.Context, dest net.Destination) (Connection, error)

var (
transportDialerCache = make(map[TransportProtocol]Dialer)
transportDialerCache = make(map[string]Dialer)
)

func RegisterTransportDialer(protocol TransportProtocol, dialer Dialer) error {
func RegisterTransportDialer(protocol string, dialer Dialer) error {
if _, found := transportDialerCache[protocol]; found {
return newError(protocol, " dialer already registered").AtError()
}
Expand Down Expand Up @@ -44,7 +44,7 @@ func Dial(ctx context.Context, dest net.Destination) (Connection, error) {
return dialer(ctx, dest)
}

udpDialer := transportDialerCache[TransportProtocol_UDP]
udpDialer := transportDialerCache["udp"]
if udpDialer == nil {
return nil, newError("UDP dialer not registered").AtError()
}
Expand Down
4 changes: 3 additions & 1 deletion transport/internet/domainsocket/config.go
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,8 @@ import (
"v2ray.com/core/transport/internet"
)

const protocolName = "domainsocket"

func (c *Config) GetUnixAddr() (*net.UnixAddr, error) {
path := c.Path
if len(path) == 0 {
Expand All @@ -21,7 +23,7 @@ func (c *Config) GetUnixAddr() (*net.UnixAddr, error) {
}

func init() {
common.Must(internet.RegisterProtocolConfigCreator(internet.TransportProtocol_DomainSocket, func() interface{} {
common.Must(internet.RegisterProtocolConfigCreatorByName(protocolName, func() interface{} {
return new(Config)
}))
}
2 changes: 1 addition & 1 deletion transport/internet/domainsocket/dial.go
Original file line number Diff line number Diff line change
Expand Up @@ -43,5 +43,5 @@ func Dial(ctx context.Context, dest net.Destination) (internet.Connection, error
}

func init() {
common.Must(internet.RegisterTransportDialer(internet.TransportProtocol_DomainSocket, Dial))
common.Must(internet.RegisterTransportDialer(protocolName, Dial))
}
2 changes: 1 addition & 1 deletion transport/internet/domainsocket/listener.go
Original file line number Diff line number Diff line change
Expand Up @@ -127,5 +127,5 @@ func (fl *fileLocker) Release() {
}

func init() {
common.Must(internet.RegisterTransportListener(internet.TransportProtocol_DomainSocket, Listen))
common.Must(internet.RegisterTransportListener(protocolName, Listen))
}
4 changes: 3 additions & 1 deletion transport/internet/http/config.go
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,8 @@ import (
"v2ray.com/core/transport/internet"
)

const protocolName = "http"

func (c *Config) getHosts() []string {
if len(c.Host) == 0 {
return []string{"www.example.com"}
Expand Down Expand Up @@ -39,7 +41,7 @@ func (c *Config) getNormalizedPath() string {
}

func init() {
common.Must(internet.RegisterProtocolConfigCreator(internet.TransportProtocol_HTTP, func() interface{} {
common.Must(internet.RegisterProtocolConfigCreatorByName(protocolName, func() interface{} {
return new(Config)
}))
}
2 changes: 1 addition & 1 deletion transport/internet/http/dialer.go
Original file line number Diff line number Diff line change
Expand Up @@ -121,5 +121,5 @@ func Dial(ctx context.Context, dest net.Destination) (internet.Connection, error
}

func init() {
common.Must(internet.RegisterTransportDialer(internet.TransportProtocol_HTTP, Dial))
common.Must(internet.RegisterTransportDialer(protocolName, Dial))
}
Loading

0 comments on commit b79ec5f

Please sign in to comment.