Skip to content

Commit

Permalink
feat: get dialer name
Browse files Browse the repository at this point in the history
  • Loading branch information
FGYFFFF committed Aug 15, 2022
1 parent 8697481 commit 27dd5b2
Show file tree
Hide file tree
Showing 2 changed files with 41 additions and 0 deletions.
20 changes: 20 additions & 0 deletions pkg/network/dialer/dialer.go
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,8 @@ package dialer
import (
"crypto/tls"
"net"
"reflect"
"strings"
"time"

"github.com/cloudwego/hertz/pkg/network"
Expand Down Expand Up @@ -49,3 +51,21 @@ func DialTimeout(network, address string, timeout time.Duration, tlsConfig *tls.
func AddTLS(conn network.Conn, tlsConfig *tls.Config) (network.Conn, error) {
return defaultDialer.AddTLS(conn, tlsConfig)
}

// GetDialerName returns the name of the dialer
func GetDialerName() (dName string) {
defer func() {
err := recover()
if err != nil {
dName = "unknown"
}
}()

dName = reflect.TypeOf(defaultDialer).String()
dSlice := strings.Split(dName, ".")
dName = dSlice[0]
if dName[0] == '*' {
dName = dName[1:]
}
return
}
21 changes: 21 additions & 0 deletions pkg/network/dialer/dialer_test.go
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
package dialer

import (
"testing"

"github.com/cloudwego/hertz/pkg/common/test/assert"
"github.com/cloudwego/hertz/pkg/network/standard"
)

func TestGetDialerName(t *testing.T) {
dName := GetDialerName()
assert.DeepEqual(t, "netpoll", dName)

defaultDialer = standard.NewDialer()
dName = GetDialerName()
assert.DeepEqual(t, "standard", dName)

defaultDialer = nil
dName = GetDialerName()
assert.DeepEqual(t, "unknown", dName)
}

0 comments on commit 27dd5b2

Please sign in to comment.