package directory import ( "context" "google.golang.org/grpc/codes" "google.golang.org/grpc/metadata" "google.golang.org/grpc/status" ) func GetClientId(ctx context.Context) (string, error) { var clientId string if md, ok := metadata.FromIncomingContext(ctx); !ok { return clientId, status.Errorf(codes.InvalidArgument, "missing metadata") } else if val, ok := md["client_id"]; !ok || len(val) == 0 { return clientId, status.Errorf(codes.Unauthenticated, "missing client_id in metadata") } else { clientId = val[0] } return clientId, nil }