code refactor
This commit is contained in:
@@ -10,6 +10,7 @@ import (
|
||||
"sync/atomic"
|
||||
"time"
|
||||
|
||||
"github.com/mayswind/ezbookkeeping/pkg/core"
|
||||
"github.com/mayswind/ezbookkeeping/pkg/errs"
|
||||
"github.com/mayswind/ezbookkeeping/pkg/log"
|
||||
"github.com/mayswind/ezbookkeeping/pkg/settings"
|
||||
@@ -51,8 +52,8 @@ type DefaultRequestIdGenerator struct {
|
||||
}
|
||||
|
||||
// NewDefaultRequestIdGenerator returns a new default request id generator
|
||||
func NewDefaultRequestIdGenerator(config *settings.Config) (*DefaultRequestIdGenerator, error) {
|
||||
serverUniqId, err := getServerUniqId(config)
|
||||
func NewDefaultRequestIdGenerator(c core.Context, config *settings.Config) (*DefaultRequestIdGenerator, error) {
|
||||
serverUniqId, err := getServerUniqId(c, config)
|
||||
|
||||
if err != nil {
|
||||
return nil, err
|
||||
@@ -68,7 +69,7 @@ func NewDefaultRequestIdGenerator(config *settings.Config) (*DefaultRequestIdGen
|
||||
return generator, nil
|
||||
}
|
||||
|
||||
func getServerUniqId(config *settings.Config) (uint16, error) {
|
||||
func getServerUniqId(c core.Context, config *settings.Config) (uint16, error) {
|
||||
localAddr := ""
|
||||
settingAddr := net.ParseIP(config.HttpAddr)
|
||||
|
||||
@@ -79,7 +80,7 @@ func getServerUniqId(config *settings.Config) (uint16, error) {
|
||||
localAddr, err = utils.GetLocalIPAddressesString()
|
||||
|
||||
if err != nil {
|
||||
log.Warnf("[default_request_id_generator.getServerUniqId] failed to get local ipv4 address, because %s", err.Error())
|
||||
log.Warnf(c, "[default_request_id_generator.getServerUniqId] failed to get local ipv4 address, because %s", err.Error())
|
||||
return 0, err
|
||||
}
|
||||
}
|
||||
|
||||
@@ -5,11 +5,16 @@ import (
|
||||
|
||||
"github.com/stretchr/testify/assert"
|
||||
|
||||
"github.com/mayswind/ezbookkeeping/pkg/core"
|
||||
"github.com/mayswind/ezbookkeeping/pkg/settings"
|
||||
)
|
||||
|
||||
func TestNewDefaultRequestIdGenerator_Http(t *testing.T) {
|
||||
generator, _ := NewDefaultRequestIdGenerator(&settings.Config{HttpAddr: "123.234.123.234", HttpPort: 8080, SecretKey: "secretkey"})
|
||||
generator, _ := NewDefaultRequestIdGenerator(core.NewNullContext(), &settings.Config{
|
||||
HttpAddr: "123.234.123.234",
|
||||
HttpPort: 8080,
|
||||
SecretKey: "secretkey",
|
||||
})
|
||||
requestId := generator.GenerateRequestId("127.0.0.1", 20000)
|
||||
requestIdInfo := generator.parseRequestIdInfo(generator.parseRequestIdFromUuid(requestId))
|
||||
|
||||
@@ -23,7 +28,12 @@ func TestNewDefaultRequestIdGenerator_Http(t *testing.T) {
|
||||
}
|
||||
|
||||
func TestNewDefaultRequestIdGenerator_UnixSocket(t *testing.T) {
|
||||
generator, _ := NewDefaultRequestIdGenerator(&settings.Config{HttpAddr: "1.2.3.4", UnixSocketPath: "/var/lib/ezbookkeeping/ezbookkeeping.sock", Protocol: "socket", SecretKey: "secretkey"})
|
||||
generator, _ := NewDefaultRequestIdGenerator(core.NewNullContext(), &settings.Config{
|
||||
HttpAddr: "1.2.3.4",
|
||||
UnixSocketPath: "/var/lib/ezbookkeeping/ezbookkeeping.sock",
|
||||
Protocol: "socket",
|
||||
SecretKey: "secretkey",
|
||||
})
|
||||
requestId := generator.GenerateRequestId("127.0.0.1", 20000)
|
||||
requestIdInfo := generator.parseRequestIdInfo(generator.parseRequestIdFromUuid(requestId))
|
||||
|
||||
@@ -37,7 +47,12 @@ func TestNewDefaultRequestIdGenerator_UnixSocket(t *testing.T) {
|
||||
}
|
||||
|
||||
func TestNewDefaultRequestIdGenerator_ClientIpv4(t *testing.T) {
|
||||
generator, _ := NewDefaultRequestIdGenerator(&settings.Config{HttpAddr: "1.2.3.4", UnixSocketPath: "/var/lib/ezbookkeeping/ezbookkeeping.sock", Protocol: "socket", SecretKey: "secretkey"})
|
||||
generator, _ := NewDefaultRequestIdGenerator(core.NewNullContext(), &settings.Config{
|
||||
HttpAddr: "1.2.3.4",
|
||||
UnixSocketPath: "/var/lib/ezbookkeeping/ezbookkeeping.sock",
|
||||
Protocol: "socket",
|
||||
SecretKey: "secretkey",
|
||||
})
|
||||
requestId := generator.GenerateRequestId("127.0.0.1", 20000)
|
||||
requestIdInfo := generator.parseRequestIdInfo(generator.parseRequestIdFromUuid(requestId))
|
||||
|
||||
@@ -62,7 +77,12 @@ func TestNewDefaultRequestIdGenerator_ClientIpv4(t *testing.T) {
|
||||
}
|
||||
|
||||
func TestNewDefaultRequestIdGenerator_ClientIpv6(t *testing.T) {
|
||||
generator, _ := NewDefaultRequestIdGenerator(&settings.Config{HttpAddr: "1.2.3.4", UnixSocketPath: "/var/lib/ezbookkeeping/ezbookkeeping.sock", Protocol: "socket", SecretKey: "secretkey"})
|
||||
generator, _ := NewDefaultRequestIdGenerator(core.NewNullContext(), &settings.Config{
|
||||
HttpAddr: "1.2.3.4",
|
||||
UnixSocketPath: "/var/lib/ezbookkeeping/ezbookkeeping.sock",
|
||||
Protocol: "socket",
|
||||
SecretKey: "secretkey",
|
||||
})
|
||||
requestId := generator.GenerateRequestId("2001:abc:def:1234::1", 20000)
|
||||
requestIdInfo := generator.parseRequestIdInfo(generator.parseRequestIdFromUuid(requestId))
|
||||
|
||||
@@ -87,7 +107,12 @@ func TestNewDefaultRequestIdGenerator_ClientIpv6(t *testing.T) {
|
||||
}
|
||||
|
||||
func TestNewDefaultRequestIdGenerator_ClientPort(t *testing.T) {
|
||||
generator, _ := NewDefaultRequestIdGenerator(&settings.Config{HttpAddr: "1.2.3.4", UnixSocketPath: "/var/lib/ezbookkeeping/ezbookkeeping.sock", Protocol: "socket", SecretKey: "secretkey"})
|
||||
generator, _ := NewDefaultRequestIdGenerator(core.NewNullContext(), &settings.Config{
|
||||
HttpAddr: "1.2.3.4",
|
||||
UnixSocketPath: "/var/lib/ezbookkeeping/ezbookkeeping.sock",
|
||||
Protocol: "socket",
|
||||
SecretKey: "secretkey",
|
||||
})
|
||||
requestId := generator.GenerateRequestId("127.0.0.1", 0)
|
||||
requestIdInfo := generator.parseRequestIdInfo(generator.parseRequestIdFromUuid(requestId))
|
||||
|
||||
@@ -132,7 +157,11 @@ func TestNewDefaultRequestIdGenerator_ClientPort(t *testing.T) {
|
||||
}
|
||||
|
||||
func TestGenerateRequestId_100Times(t *testing.T) {
|
||||
generator, _ := NewDefaultRequestIdGenerator(&settings.Config{HttpAddr: "1.2.3.4", HttpPort: 1234, SecretKey: "secretkey"})
|
||||
generator, _ := NewDefaultRequestIdGenerator(core.NewNullContext(), &settings.Config{
|
||||
HttpAddr: "1.2.3.4",
|
||||
HttpPort: 1234,
|
||||
SecretKey: "secretkey",
|
||||
})
|
||||
|
||||
for i := 1; i <= 100; i++ {
|
||||
requestId := generator.GenerateRequestId("127.0.0.1", 20000)
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
package requestid
|
||||
|
||||
import (
|
||||
"github.com/mayswind/ezbookkeeping/pkg/core"
|
||||
"github.com/mayswind/ezbookkeeping/pkg/settings"
|
||||
)
|
||||
|
||||
@@ -15,8 +16,8 @@ var (
|
||||
)
|
||||
|
||||
// InitializeRequestIdGenerator initializes the current request id generator according to the config
|
||||
func InitializeRequestIdGenerator(config *settings.Config) error {
|
||||
generator, err := NewDefaultRequestIdGenerator(config)
|
||||
func InitializeRequestIdGenerator(c core.Context, config *settings.Config) error {
|
||||
generator, err := NewDefaultRequestIdGenerator(c, config)
|
||||
|
||||
if err != nil {
|
||||
return err
|
||||
|
||||
Reference in New Issue
Block a user