From 6ee5f6610fb9a856330d99cd9cc462733a91d1b9 Mon Sep 17 00:00:00 2001 From: toktar Date: Wed, 13 Jul 2022 14:02:00 +0300 Subject: [PATCH] Refactoring --- services/ledger_service.go | 24 ++++++++++++++++-------- services/request_service.go | 2 -- utils/did_url.go | 5 ++--- 3 files changed, 18 insertions(+), 13 deletions(-) diff --git a/services/ledger_service.go b/services/ledger_service.go index b7d0d60e..72208005 100644 --- a/services/ledger_service.go +++ b/services/ledger_service.go @@ -46,6 +46,14 @@ func (ls LedgerService) QueryDIDDoc(did string) (cheqd.Did, cheqd.Metadata, bool } conn, err := ls.openGRPCConnection(serverAddr) + defer func(conn *grpc.ClientConn) { + if conn == nil { return } + err := conn.Close() + if err != nil { + log.Panic().Err(err).Msg("QueryDIDDoc: failed to close connection") + panic(err) + } + }(conn) if err != nil { log.Error().Err(err).Msg("QueryDIDDoc: failed connection") return cheqd.Did{}, cheqd.Metadata{}, false, err @@ -69,6 +77,14 @@ func (ls LedgerService) QueryResource(collectionDid string, resourceId string) ( } conn, err := ls.openGRPCConnection(serverAddr) + defer func(conn *grpc.ClientConn) { + if conn == nil { return } + err := conn.Close() + if err != nil { + log.Panic().Err(err).Msg("QueryResource: failed to close connection") + panic(err) + } + }(conn) if err != nil { log.Error().Err(err).Msg("QueryResource: failed connection") return resource.Resource{}, false, err @@ -122,14 +138,6 @@ func (ls LedgerService) openGRPCConnection(addr string) (conn *grpc.ClientConn, return nil, err } - defer func(conn *grpc.ClientConn) { - err := conn.Close() - if err != nil { - log.Panic().Err(err).Msg("QueryDIDDoc: failed to close connection") - panic(err) - } - }(conn) - log.Info().Msg("openGRPCConnection: opened") return conn, nil } diff --git a/services/request_service.go b/services/request_service.go index 4e706720..eb2a128f 100644 --- a/services/request_service.go +++ b/services/request_service.go @@ -4,7 +4,6 @@ import ( // jsonpb Marshaller is deprecated, but is needed because there's only one way to proto // marshal in combination with our proto generator version "encoding/json" - "fmt" "github.com/rs/zerolog/log" @@ -101,7 +100,6 @@ func (rs RequestService) Resolve(did string, resolutionOptions types.ResolutionO didResolutionMetadata := types.NewResolutionMetadata(did, resolutionOptions.Accept, "") if didMethod, _, _, _ := cheqdUtils.TrySplitDID(did); didMethod != rs.didMethod { - fmt.Print("resolution: " + did) didResolutionMetadata.ResolutionError = types.ResolutionMethodNotSupported return types.DidResolution{ResolutionMetadata: didResolutionMetadata}, nil } diff --git a/utils/did_url.go b/utils/did_url.go index c6f6e87d..f04a1b5e 100644 --- a/utils/did_url.go +++ b/utils/did_url.go @@ -7,10 +7,9 @@ import ( var ResourcePath, _ = regexp.Compile(`resource\/[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}`) func GetResourceId(didUrlPath string) (id string) { - if !ResourcePath.Match([]byte(didUrlPath)) { + match := ResourcePath.FindStringSubmatch(didUrlPath) + if len(match) != 1 { return "" } - - match := ResourcePath.FindStringSubmatch(didUrlPath) return match[0] }