From 9b9dc7e3b7125383d440b18a9c8e306fc1ca4671 Mon Sep 17 00:00:00 2001 From: Stewart Jingga Date: Wed, 29 Jun 2022 16:11:16 +0700 Subject: [PATCH 1/3] feat: debug shield header --- internal/server/v1beta1/server.go | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/internal/server/v1beta1/server.go b/internal/server/v1beta1/server.go index d91e2c51..5673f7e0 100644 --- a/internal/server/v1beta1/server.go +++ b/internal/server/v1beta1/server.go @@ -11,6 +11,7 @@ import ( "github.com/odpf/compass/core/user" "github.com/odpf/salt/log" "google.golang.org/grpc/codes" + "google.golang.org/grpc/metadata" "google.golang.org/grpc/status" ) @@ -55,6 +56,12 @@ func (server *APIServer) validateUserInCtx(ctx context.Context) (string, error) userID, err := server.userService.ValidateUser(ctx, usr.UUID, usr.Email) if err != nil { if errors.Is(err, user.ErrNoUserInformation) { + if md, ok := metadata.FromIncomingContext(ctx); ok { + server.logger.Debug("printing header for \"x-shield-user-id\"", "header", md.Get("x-shield-user-id")[0]) + } else { + server.logger.Debug("could not get metadata") + } + return "", status.Errorf(codes.InvalidArgument, err.Error()) } if errors.As(err, &user.DuplicateRecordError{UUID: usr.UUID, Email: usr.Email}) { From f5ca7972fbd32291d0d8b6bccc58073b1e771f35 Mon Sep 17 00:00:00 2001 From: Stewart Jingga Date: Wed, 29 Jun 2022 16:26:46 +0700 Subject: [PATCH 2/3] feat: debug header --- internal/server/v1beta1/server.go | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/internal/server/v1beta1/server.go b/internal/server/v1beta1/server.go index 5673f7e0..70aa63eb 100644 --- a/internal/server/v1beta1/server.go +++ b/internal/server/v1beta1/server.go @@ -57,7 +57,13 @@ func (server *APIServer) validateUserInCtx(ctx context.Context) (string, error) if err != nil { if errors.Is(err, user.ErrNoUserInformation) { if md, ok := metadata.FromIncomingContext(ctx); ok { - server.logger.Debug("printing header for \"x-shield-user-id\"", "header", md.Get("x-shield-user-id")[0]) + values := md.Get("x-shield-user-id") + if len(values) > 0 { + server.logger.Debug("printing header for \"x-shield-user-id\"", "header", values[0]) + } else { + server.logger.Debug("header \"x-shield-user-id\" cannot be found") + } + } else { server.logger.Debug("could not get metadata") } From e10a34da62b2b20dd6325c882292cd183e94e6dc Mon Sep 17 00:00:00 2001 From: Stewart Jingga Date: Wed, 29 Jun 2022 16:41:55 +0700 Subject: [PATCH 3/3] feat: debug headers --- internal/server/v1beta1/server.go | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/internal/server/v1beta1/server.go b/internal/server/v1beta1/server.go index 70aa63eb..6f605f36 100644 --- a/internal/server/v1beta1/server.go +++ b/internal/server/v1beta1/server.go @@ -2,6 +2,7 @@ package handlersv1beta1 import ( "context" + "encoding/json" "errors" "fmt" "net/http" @@ -57,13 +58,12 @@ func (server *APIServer) validateUserInCtx(ctx context.Context) (string, error) if err != nil { if errors.Is(err, user.ErrNoUserInformation) { if md, ok := metadata.FromIncomingContext(ctx); ok { - values := md.Get("x-shield-user-id") - if len(values) > 0 { - server.logger.Debug("printing header for \"x-shield-user-id\"", "header", values[0]) + jBytes, err := json.Marshal(md) + if err != nil { + server.logger.Debug("unable to marshal headers", "err", err) } else { - server.logger.Debug("header \"x-shield-user-id\" cannot be found") + server.logger.Debug("printing headers", "headers", string(jBytes)) } - } else { server.logger.Debug("could not get metadata") }