code refactor

This commit is contained in:
MaysWind
2024-08-19 00:31:32 +08:00
parent 6fcb0a2b3c
commit e86d4e05ce
73 changed files with 1404 additions and 1344 deletions
@@ -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)
+3 -2
View File
@@ -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