From bdd69d943914ec2cf80004b30b71eb3965874326 Mon Sep 17 00:00:00 2001 From: zhangshen023 <1292369127@qq.com> Date: Sat, 29 Aug 2020 13:44:45 +0800 Subject: [PATCH] optimize code and adapt to other unit test --- config/config_loader_test.go | 4 ++++ registry/consul/service_discovery.go | 14 +++++++------- 2 files changed, 11 insertions(+), 7 deletions(-) diff --git a/config/config_loader_test.go b/config/config_loader_test.go index 461e607c1..baf0c8fba 100644 --- a/config/config_loader_test.go +++ b/config/config_loader_test.go @@ -503,6 +503,10 @@ func (m *mockServiceDiscovery) String() string { panic("implement me") } +func (m *mockServiceDiscovery) Init(registryURL common.URL) error { + panic("implement me") +} + func (m *mockServiceDiscovery) Destroy() error { panic("implement me") } diff --git a/registry/consul/service_discovery.go b/registry/consul/service_discovery.go index b57f77191..e794beb0a 100644 --- a/registry/consul/service_discovery.go +++ b/registry/consul/service_discovery.go @@ -227,31 +227,31 @@ func (csd *consulServiceDiscovery) GetServices() *gxset.HashSet { // encodeConsulMetadata because consul validate key strictly. func encodeConsulMetadata(metadata map[string]string) map[string]string { + consulMetadata := make(map[string]string, 8) if metadata == nil { - metadata = make(map[string]string, 1) + return consulMetadata } encoder := base64.RawStdEncoding for k, v := range metadata { - delete(metadata, k) - metadata[encoder.EncodeToString([]byte(k))] = v + consulMetadata[encoder.EncodeToString([]byte(k))] = v } - return metadata + return consulMetadata } // nolint func decodeConsulMetadata(metadata map[string]string) map[string]string { + dubboMetadata := make(map[string]string, 8) if metadata == nil { - metadata = make(map[string]string, 1) + return dubboMetadata } encoder := base64.RawStdEncoding for k, v := range metadata { - delete(metadata, k) kBytes, err := encoder.DecodeString(k) if err != nil { logger.Warnf("can not decoded consul metadata key %s", k) continue } - metadata[string(kBytes)] = v + dubboMetadata[string(kBytes)] = v } return metadata } -- GitLab