From 00dbdd5fb31bc274acdcf55b3f410de1bd7f4339 Mon Sep 17 00:00:00 2001 From: Kiyon Date: Mon, 8 Feb 2021 11:35:17 +0800 Subject: [PATCH] =?UTF-8?q?=20=F0=9F=91=B7=20Add=20network=20type=20consta?= =?UTF-8?q?nt?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app.go | 4 ++-- app_test.go | 6 +++--- helpers.go | 7 +++++++ helpers_test.go | 12 ++++++------ prefork_test.go | 10 +++++----- 5 files changed, 23 insertions(+), 16 deletions(-) diff --git a/app.go b/app.go index 3d6cb836..db156bb0 100644 --- a/app.go +++ b/app.go @@ -284,7 +284,7 @@ type Config struct { // Known networks are "tcp", "tcp4" (IPv4-only), "tcp6" (IPv6-only) // WARNING: When prefork is set to true, only "tcp4" and "tcp6" can be chose. // - // Default: "tcp4" + // Default: NetworkTCP4 Network string } @@ -403,7 +403,7 @@ func New(config ...Config) *App { app.config.JSONEncoder = json.Marshal } if app.config.Network == "" { - app.config.Network = "tcp4" + app.config.Network = NetworkTCP4 } // Init app diff --git a/app_test.go b/app_test.go index 51153348..c6e29f1b 100644 --- a/app_test.go +++ b/app_test.go @@ -392,7 +392,7 @@ func Test_App_Listener_TLS(t *testing.T) { } config := &tls.Config{Certificates: []tls.Certificate{cer}} - ln, err := net.Listen("tcp4", ":3078") + ln, err := net.Listen(NetworkTCP4, ":3078") utils.AssertEqual(t, nil, err) ln = tls.NewListener(ln, config) @@ -1151,7 +1151,7 @@ func Test_App_ReadTimeout(t *testing.T) { go func() { time.Sleep(500 * time.Millisecond) - conn, err := net.Dial("tcp4", "127.0.0.1:4004") + conn, err := net.Dial(NetworkTCP4, "127.0.0.1:4004") utils.AssertEqual(t, nil, err) defer conn.Close() @@ -1183,7 +1183,7 @@ func Test_App_BadRequest(t *testing.T) { go func() { time.Sleep(500 * time.Millisecond) - conn, err := net.Dial("tcp4", "127.0.0.1:4005") + conn, err := net.Dial(NetworkTCP4, "127.0.0.1:4005") utils.AssertEqual(t, nil, err) defer conn.Close() diff --git a/helpers.go b/helpers.go index d075d793..4439a5c2 100644 --- a/helpers.go +++ b/helpers.go @@ -670,3 +670,10 @@ const ( HeaderXRobotsTag = "X-Robots-Tag" HeaderXUACompatible = "X-UA-Compatible" ) + +// Network types that are commonly used +const ( + NetworkTCP = "tcp" + NetworkTCP4 = "tcp4" + NetworkTCP6 = "tcp6" +) diff --git a/helpers_test.go b/helpers_test.go index ff1b27ad..1600ce76 100644 --- a/helpers_test.go +++ b/helpers_test.go @@ -262,23 +262,23 @@ func Benchmark_Utils_IsNoCache(b *testing.B) { func Test_Utils_lnMetadata(t *testing.T) { t.Run("closed listen", func(t *testing.T) { - ln, err := net.Listen("tcp", ":0") + ln, err := net.Listen(NetworkTCP, ":0") utils.AssertEqual(t, nil, err) utils.AssertEqual(t, nil, ln.Close()) - addr, config := lnMetadata("tcp", ln) + addr, config := lnMetadata(NetworkTCP, ln) utils.AssertEqual(t, ln.Addr().String(), addr) utils.AssertEqual(t, true, config == nil) }) t.Run("non tls", func(t *testing.T) { - ln, err := net.Listen("tcp", ":0") + ln, err := net.Listen(NetworkTCP, ":0") utils.AssertEqual(t, nil, err) - addr, config := lnMetadata("tcp4", ln) + addr, config := lnMetadata(NetworkTCP4, ln) utils.AssertEqual(t, ln.Addr().String(), addr) utils.AssertEqual(t, true, config == nil) @@ -290,12 +290,12 @@ func Test_Utils_lnMetadata(t *testing.T) { config := &tls.Config{Certificates: []tls.Certificate{cer}} - ln, err := net.Listen("tcp4", ":0") + ln, err := net.Listen(NetworkTCP4, ":0") utils.AssertEqual(t, nil, err) ln = tls.NewListener(ln, config) - addr, config := lnMetadata("tcp4", ln) + addr, config := lnMetadata(NetworkTCP4, ln) utils.AssertEqual(t, ln.Addr().String(), addr) utils.AssertEqual(t, true, config != nil) diff --git a/prefork_test.go b/prefork_test.go index 76dadfb0..73c92b53 100644 --- a/prefork_test.go +++ b/prefork_test.go @@ -23,7 +23,7 @@ func Test_App_Prefork_Child_Process(t *testing.T) { app := New() - err := app.prefork("tcp4", "invalid", nil) + err := app.prefork(NetworkTCP4, "invalid", nil) utils.AssertEqual(t, false, err == nil) go func() { @@ -31,7 +31,7 @@ func Test_App_Prefork_Child_Process(t *testing.T) { utils.AssertEqual(t, nil, app.Shutdown()) }() - utils.AssertEqual(t, nil, app.prefork("tcp6", "[::]:", nil)) + utils.AssertEqual(t, nil, app.prefork(NetworkTCP6, "[::]:", nil)) // Create tls certificate cer, err := tls.LoadX509KeyPair("./.github/testdata/ssl.pem", "./.github/testdata/ssl.key") @@ -45,7 +45,7 @@ func Test_App_Prefork_Child_Process(t *testing.T) { utils.AssertEqual(t, nil, app.Shutdown()) }() - utils.AssertEqual(t, nil, app.prefork("tcp4", "127.0.0.1:", config)) + utils.AssertEqual(t, nil, app.prefork(NetworkTCP4, "127.0.0.1:", config)) } func Test_App_Prefork_Master_Process(t *testing.T) { @@ -59,11 +59,11 @@ func Test_App_Prefork_Master_Process(t *testing.T) { utils.AssertEqual(t, nil, app.Shutdown()) }() - utils.AssertEqual(t, nil, app.prefork("tcp4", ":3000", nil)) + utils.AssertEqual(t, nil, app.prefork(NetworkTCP4, ":3000", nil)) dummyChildCmd = "invalid" - err := app.prefork("tcp4", "127.0.0.1:", nil) + err := app.prefork(NetworkTCP4, "127.0.0.1:", nil) utils.AssertEqual(t, false, err == nil) }